Google PHP API ile Real Time Analytics Bilgilerini Almak

Merhaba arkadaşlar, Google’ın bize sunmuş olduğu beta olarak kullandığımız PHP API’yi kullanarak real time analytics bilgilerini nasıl alacağımızı öğreneceğiz. Hadi başlayalım. Okumaya devam et “Google PHP API ile Real Time Analytics Bilgilerini Almak”

PHP ile T.C. Kimlik No Doğrulama

Devletin bize verdiği SOAP servisi sayesinde, T.C. Kimlik Numarasının gerçekten doğru olup olmadığını kontrol edebiliyoruz. Bunuda PHP’de aşağıdaki şekilde kullanıyoruz. Burada dikkat edilmesi gereken gönderilen ad ve soyad’ın büyük harflerle yazılmasıdır. Aksi taktirde doğrulama işlemi çalışmamaktadır. Eğer bu TCKimlikNoDogrula metodu nereden çıktı, TCKimlikNoDogrulaResult property’sini nasıl elde ettik derseniz SoapClient ile bağlandığımız yerden aldık bu bilgileri. Yani kafadan oluşturmadık 🙂

$client = new SoapClient("https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?WSDL");
try {
    $result = $client->TCKimlikNoDogrula([
        'TCKimlikNo' => '5555555555',
        'Ad' => 'TAYFUN',
        'Soyad' => 'ERBİLEN',
        'DogumYili' => '1993'
    ]);
    if ($result->TCKimlikNoDogrulaResult) {
        echo 'T.C. Kimlik No Doğru';
    } else {
        echo 'T.C. Kimlik No Hatalı';
    }
} catch (Exception $e) {
    echo $e->faultstring;
}

PHP ile Excel Dosyalarını Okumak

Şu yazımda php ile nasıl excel dosyası oluşturulacağını göstermiştim. Bu yazımda ise, daha elzem bir konuya değineceğiz. Geçenlerde bir excel dosyasının içinden verileri almam gerekti, araştırırken baktım ki çok kalabalık kodlar var, benim amacım alt tarafı satır satır okuyup verileri almak o kadar. Sonra bir repo’ya denk geldim, Sergey Shuchkin abimiz bir sınıf yazmış bu işlemler için. Basit, kullanışlı, amaca hitap ediyor.

Öncelikle dosyaları şuradan temin edin;
https://github.com/shuchkin/simplexlsx (not: adama star atmayı unutmayın :D)

Kullanımı ise çok basit;

if ( $xlsx = SimpleXLSX::parse('test.xlsx') ) {
    print_r( $xlsx->rows() );
} else {
    echo SimpleXLSX::parse_error();
}

excel’deki satırları dizi halinde size verecek, seçip istediğinizi kullanabilirsiniz.

Kolay gelsin.

PHP gzcompress() ve gzuncompress() Fonksiyonları

Ne zaman sıkıştırmaktan bahsetsek, aklımız hep dosyaları sıkıştırmaya gidiyor, mesela ZIP dosyaları gibi. Ancak PHP’de uzun string ifadeleri de sıkıştırmanın bazı yolları var. Bu işlem için ise gzcompress() fonksiyonu kullanılıyor. Okumaya devam et “PHP gzcompress() ve gzuncompress() Fonksiyonları”

PHP serialize() ve unserialize() Fonksiyonları

PHP’de hiç kompleks bir değişkeni veritabanında ya da dosyalarda saklamak istediniz mi? Örneğin tipi array olan bir değişkeni veritabanında saklamak istiyoruz. İşte bunu serialize() fonksiyonu ile yapmamız mümkün. Okumaya devam et “PHP serialize() ve unserialize() Fonksiyonları”

Zincirleme (Chain) Metodu

Bir çoğunuz yazılmış sınıfları incelediğinizde şu şekilde bir yazım tarzıyla karşılaşmış olabilirsiniz.

$text = new Text();
echo $text->write('Tayfun Erbilen')->color('red')->fontSize('20px')->show();

Bu örneğe ait sınıfımızı oluşturalım hemen.

class Text {
    
    private $text;
    private $style;

    public function write($text)
    {
        $this->text = $text;
    }

    public function color($color)
    {
        $this->style .= 'color: ' . $color . ';';
    }

    public function fontSize($size)
    {
        $this->style .= 'font-size: ' . $size . ';';
    }

    public function show()
    {
        return '<div style="' . $this->style . '">' . $this->text . '</div>';
    }

}

Ancak bu örnek hata verecektir. Çünkü bu şekilde bir yazım tarzı için yapmanız gereken $this objenizi geriye döndürmek. Yani sınıfımızı şu şekilde düzenlersek eğer;

class Text {
    
    private $text;
    private $style;

    public function write($text)
    {
        $this->text = $text;
        return $this;
    }

    public function color($color)
    {
        $this->style .= 'color: ' . $color . ';';
        return $this;
    }

    public function fontSize($size)
    {
        $this->style .= 'font-size: ' . $size . ';';
        return $this;
    }

    public function show()
    {
        return '<div style="' . $this->style . '">' . $this->text . '</div>';
    }

}

Artık bu şekilde bir kullanımı yapmaya hazırız.

Chain (zincirleme) metodu aynı zamanda jQuery içinde aynı mantıkta çalışır. Muhtemelen her dil için bu mantıktadır. Örneğin jQuery’de bir örnek vermem gerekirse, basit bir eklenti hazırlayalım.

$.fn.Text = function(text){
  $(this).html(text);
};

$('body').Text('Tayfun Erbilen').css({
    'color': 'red',
    'font-size': '20px'
  });

Bu şekilde bir zincirleme kullanımda çalışmayacaktır. Çünkü bir this objesi döndürmedik eklentimizde geriye. Eğer geriye this’i döndürürsek geriye kalan jQuery metodlarını da zincirleme olarak kullanabilirsiniz. O halde buna göre düzelttiğimizde son kod parçamız şöyle olacak;

$.fn.Text = function(text){
  $(this).html(text);
  return this;
};

$('body').Text('Tayfun Erbilen').css({
    'color': 'red',
    'font-size': '20px'
  });

“Cannot modify header information – headers already sent by” hatası ve çözümü

Dün yine aynı sorun başıma gelince biraz araştırma yaptım ve olası tüm hataları ve çözümlerini öğrendim.
Buna istinaden bir makale hazırlamam gerektiğine karar verdim 🙂 Öncelikle bu sorun bütün hostlarda karşılaşılmayan bir sorun. Bazı ayarların farklı olmasından kaynaklanıyor ve dolayısı ile heran başınıza gelebilecek bir sorun.
Okumaya devam et ““Cannot modify header information – headers already sent by” hatası ve çözümü”

PHP ile Gmail RSS Servisinden Okunmamış Postaları Çekmek

Gmail hesabınızda oluşturduğunuz label’lara ait ya da gelen, spam gibi kısımlara ait okunmamış mesajlarınızı kendi siteniz üzerinden görmek isterseniz gmail’in rss servisini kullanabilirsiniz.

Örneğin okunmamış mesajlar için;
https://mail.google.com/mail/feed/atom/

ya da spam mesajlar için;
https://mail.google.com/mail/feed/atom/spam

ya da kendi oluşturduğunuz “işler” adında bir labeliniz için;
https://mail.google.com/mail/feed/atom/işler

Bu adreslere girdiğinizde eğer şuan bir gmail hesabınızda oturum açtıysanız onunla ilgili detayları göreceksiniz. Ancak PHP‘de cURL kullanarak herhangi bir başka hesapta anlık oturum açıp postalarımızı görebiliriz. Bunun için öncelikle bize bir cURL fonksiyonu gerekecek. Daha önce cURL hakkında bilgisi olmayanlar şuradan curl derslerime bir gözatabilir.
Okumaya devam et “PHP ile Gmail RSS Servisinden Okunmamış Postaları Çekmek”

strtolower() ile Türkçe Karakterlerin Küçültülmesi (Php)

Bildiğiniz gibi strtolower() fonksiyonu ile türkçe (latin karakterleri) düzgün şekilde küçültemiyoruz. Aslında bu sadece küçültme işlemi için geçerli değil, latin karakterlerde her zaman bir sorun yaşıyoruz. Büyültmede, kesmede vs. Bu yüzden php bize karakter seti tanımlayabileceğimiz mb_ li fonksiyonları türetmiştir. Hemen bir örnekle açıklayalım;
Okumaya devam et “strtolower() ile Türkçe Karakterlerin Küçültülmesi (Php)”