Namaz Vakitleri – PHP Sınıfı

Erdem Arslan > Programlama > PHP > Namaz Vakitleri – PHP Sınıfı
namaz_vakti_php_class

Namaz Vakitleri – PHP Sınıfı

[alert type=”success” close=”true”]Önemli Hatırlatma: Kodlar güncellenmiştir. (01.01.2018) v.7.0’ı github üzerinden indirebilirsiniz.[/alert]

Daha önce bu sayfada namaz vakitleri ile ilgili bir api hazırlamış ve dağıttığımı duyurmuştum. Sizlerden gelen eleştiriler doğrultusunda, bununla ilgili bir çalışma daha yaptım. Yazdığım API’de verileri Diyanetin mobil uygulamalarının sunucusundan çekiyordum. Bundan dolayı, özellikle ilçelerin büyük bir kısmıyla ilgili verileri elde edemiyorduk. Bu da bir çok kişi için sıkıntı demekti. Dün gece Diyanetin sitesini tekrar inceledim ve ilçeleri de alabileceğimizi gördüm.

Yazdığım bu sınıf ile verileri sağlıklı bir biçimde alabiliyor ve bir PHP dizisi ya da JSON verisi olarak kullanabiliyoruz. İleriki aşamalarda XML olarak da geri dönüş şekli yazmaya çalışır ve bu sistemi de EraLabs API ile birleştirmeye çalışacağım.

Bu durumda daha önce bazılarının aşırı feveran ettikleri lisans anahtarları da kalkacaktır. Yine bununla ilgili yazmış olduğum WordPress eklentisini de düzenleyip, güncelleyeceğim. Özellikle WordPress eklentisini kullanan arkadaşların 1-2 gün daha sabretmelerini rica ediyorum. Zira eklentide yapmayı düşündüğüm birden fazla yenilik var.

Neyse lafı fazla uzatmayayım. Sınıfın kullanılmasına geleyim. Sınıfın kullanılması 4 temel fonksiyon bulunmakta.
[syntax type=”php”]
<?php
// Sınıfı sayfaya dahil et!
require ‘namazvakti.class.php’;
/* sınıfı oluştur
Cache yolu boş bırakılırsa, namazvakti.class.php
dosyasının bulunduğu klasörde cache adlı bir klasör oluşturmanız
ve bu klasöre yazma izinleri vermeniz gerekir.
*/
$nv = new Namaz( ‘cache_yolu’ );

/* Aşağıda belirtilen her fonksiyon, son değişken olarak array veya json değerini alabilir.
Bu iki değer verinin hangi formatta geri döndürüleceğini belirler.
XML için çalışmalar devam ediyor.
*/
$ulkeler = $nv->ulkeler(); //verisi çekilebilen ülkeleri verir.
$sehirler = $nv->sehirler( ‘TURKIYE’ ); // verilen ülkeye ait şehirleri verir.
$ilceler = $nv->ilceler( ‘CANAKKALE’ ); // Verilen şehire ait ilçeleri verir.
$vakit = $nv->vakit( ‘BIGA’, ‘TURKIYE’ ); // İlçeler bölümünden elde edilen yerleşim birimi ile bu yerin bağlı bulunduğu ülkeye ait günlük namaz vakitleri ve diğer bilgileri verir.
[/syntax]

Sınıfın kullanımı görüldüğü üzere gayet basittir. Vakit veriler günlük önbelleklenir, diğer veriler değişmeyen veriler olduğundan sınırsız önbelleklenir. Büyük bir ihtiyacı kapatacağı düşüncesiyle, dualarınızı eksik etmeyin. Sınıfı Github üzerinden inceleyebilir ve indirebilirsiniz.

[button url=”https://github.com/erdemarslan/namazvakti” style=”success” size=”default” block=”false” target=”_blank” icon=”cloud-download”]Namaz Vakti Sınıfı v.7.0[/button]

48 thoughts on “Namaz Vakitleri – PHP Sınıfı

    1. Symfony bilgim malesef hiç yok. Sınıf standart php sınıfı. Symfony’nin dökümantasyonunda php sınıflarını çalıştırma ilgili mutlaka makale olması lazım. Onları okumanızı tavsiye edebilirim size sadece.

    1. Selamun aleyküm, kolay gelsin hocam. Sadece İmsak vaktini echo yapmak için nasıl bir kod kullanmalıyız. Json bilgim yok maalesef, yapamadım bi türlü, benim yazdığın bot 1-2 saniyede çekiyordu bu çok hızlı, emeğinize sağlık, çok teşekür ederiz

  1. Merhaba, öncelikle emeğiniz için çok teşekkürler.. Problemim şu; cache adında klasör oluşturmama rağmen daha önceden çektiğim bir yerin namaz vakitlerini getirmesi uzun sürüyor. Burdaki amaç klasörde bilgi varsa uzak sunucuya gitmemesi değil midir?

      1. Dediğim gibi oluyor, peki şunu öğrenip inceleyeyim tekrar cacheyi kontrol etmesi için bir talimat veriyor muyuz yoksa varsayılan olarak zaten kontrol ediyor mu? Cache klasörüne yazdığını da farkettim ayrıca yazıyorsa zaten okuması gerekir değil mi?

  2. Diğer Erdem,

    Düzenli namazda yapılan değişiklikler için çok teşekkürler.

    Arnavutça tercüme edeceğim.

    reddetmekten sakının.

    saygı ile
    Zeqir Merovci

  3. S.A.
    since 3 days your wordpress-namaz vakti doesn’t work . There is a problem with diyanet-server.

    Can you fix it?
    Merovci

  4. diyanet siteyi yenilemiş sizin plugin çalışmıyor.bu sayfadaki eklentiniz de çalışmıyor

  5. verdiğiniz bilgiler işime yaradı . bnun için teşekkür etmek amaclı yorum yazma gereği duydum.

    hayırlı günler

  6. Emeğinize sağlık. Allah razı olsun,
    Aylık namaz vakitlerini çekmek için de, bu sınıfı kullanabilirmiyiz. Ya da ne gibi bir değişiklik yapmak gerekir?

  7. ben bu kodları masaüstü programda kullanmak istiyorum .ama nasıl kullanacağımı bilmiyorum. bana yardım edermisiniz.

  8. Array
    (
    [durum] => basarili
    [veri] => Array
    (
    [yer] => Array
    (
    [ulke] => TURKIYE
    [sehir] => CANAKKALE
    [ilce] => CAN
    )

    )

    )
    şeklinde görünüyor neden acaba?

    1. Sunucudan çekilen veriler boş dönüyordur. Sınıf epey eski bir kontrol etmem lazım. Mümkün olan en kısa sürede halletmeye çalışacağım.

      1. Hızlı geri dönüşünüz ve emeğiniz için teşekkür ederim. Wp olanını indirdim çalışıyor ama bunu bir türlü çalıştıramadım. wp eklentisi normal siteye nasıl uyarlanır bilmediğim için beklemekten başka çare yok. Tekrar teşekkür ederim.

  9. Yardımlar için teşekkür ederiz ama biraz karmaşık geldi pek sonuç alamadım tekra denemekte fayda var bakalım bu sefer olacakmı.

  10. Hocam class yapısı ve kod düzeni çok güzel ellerinize sağlık. Ancak çıktı olarak sadece lokasyonlar geliyor. Veriler noktasında sıkıntımı var yoksa vakitleri farklı bir fonksiyonlamı ekrana basacağız? Bende ki çıktı aşağıdaki gibidir.

    Array
    (
    [durum] => basarili
    [veri] => Array
    (
    [yer] => Array
    (
    [ulke] => TURKIYE
    [sehir] => CANAKKALE
    [ilce] => CAN
    )

    )

    )

    1. Merhabalar,
      Malesef size sınıf hangi şekilde geri döndürüyorsa, o şekilde kullanabilirsiniz. Diyanetin sistemini değiştirmesinden sonra, malesef haftalık ve/veya aylık çekim yapamıyoruz. Hepsi günlük oluyor.

  11. merhaba,
    hicri takvim 1 gün geriden sayıyor, bugün 3 ramazan 1435 ama 2 ramazan gösteriyor.

    teşekkürler.

  12. merhaba,

    Hicri gün olarak bir gün önceden gidiriyor, örneğin bugün 3 Ramazan 1435 ama

    2 Ramazan 1435 görünüyor.

    İYİ RAMAZANLAR

    1. bu vakitler ile sitede yayınlanan vakitler arasında bir bazen farklılık olabiliyor. Bunu da göz önüne almak lazım. İlginiz için teşekkür ederim. İlçeler de mevcut mu bu durumda?

  13. Merhabalar.

    Çalışmanızı çok beğendim. Yapmış olduğum web sitelerine koymak istiyorum. WordPress eklentisi halini link olarak yollar mısınız rica etsem.

    Kolay Gelsin

  14. Merhaba,

    Bu {“countryName”:”HOLLANDA”,”name”:”HELLEVOETSLUIS”,”itemSource”:”inner”} JSON requeste bir sey ekleyip aylik olarak cekme ozelligi varmi? Yani bir variable ekleyip aylik JSON return icin.

    Saygilar

  15. Merhaba, mail atmıştım size ama cevap gelmedi.

    Azerbaycanın illeri için yıllık namaz vakitleri lazım bana diyanetin sitesinden. Bunu elde etmemiz mümkün mü?

    1. Anar bey, mailinizi okudum ancak ev tasiyorum su anda. O yuzden bilgisayara pek bakamiyorum. Kusuruma bakmayin. En kisa zamanda size donus yapacagim.

  16. Merhaba, paylaşımınız için teşekkür ederim.
    Gayet güzel çalışıyor. fakat ülke ve şehri seçtikten sonra günlük vakti değil de bir kereye mahsus yıllık vakti alabilme imkanımız yok mu?Varsa paylaşırsanız memnun olurum.
    Şimdiden teşekkür ederim.

    1. Merhabalar Anar Bey,
      İlginiz için ben teşekkür ederim. Verileri http://www.diyanet.gov.tr/tr/namazvakitleri adresinden alıyoruz. Bundan dolayı, veriler sadece günlük. Ancak eğer tüm ilçeler benim için önemli değil, sadece il merkezleri ile büyük şehirlerin bazı ilçeleri benim için yeterli ve şehir isimleri yerine sayı kullanmak benim işime gelir diyorsanız, size yıllık verileri temin edebilirim. Hangi merkezlerin vakitlerini öğrenebileceğinizi Diyanetin andorid uygulamasına bakarak öğrenebilirsiniz. Malesef Diyanetin namaz vakitleri ile ilgili uygulamaları (web ya da mobil) çok dağınık. Hepsi için ayrı bir kodlama yapmışlar. Yardıma ihtiyacınız olursa iletişime geçmekten çekinmeyin.

Osman için bir yanıt yazın Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Güvenlik Kodu * Time limit is exhausted. Please reload CAPTCHA.

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.