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)

Dizi Değerlerini Get Parametresine Dönüştürme (Php)

Normal şartlarda hiç işime yaramadı ama yaradığı yerler vardır illaha ki 🙂 Bilmeyenler için paylaşıyorum.
Elinizdeki mevcut dizinin anahtar ve değerlerini baz alarak size bir get parametre çıktısı döndürür. İşinizi kolaylaştırır.
Okumaya devam et Dizi Değerlerini Get Parametresine Dönüştürme (Php)

PDO Kullanımı

Bildiğiniz gibi artık PHP veritabanı işlemleri için doğrudan mysql_ li fonksiyonların kullanımını tavsiye etmiyor. Bunun yerine şuan için önerdiği 2 farklı veritabanı eklentisi mevcut. Bunlardan bir tanesi mysqli, bir diğeri ise PDO.
Okumaya devam et PDO Kullanımı

PHP ile Alexa Değerlerini Almak

Alexa’da global ve ülke sıralamasını almak isterseniz, alexa’nın sunmuş olduğu xml servisini kullanabilirsiniz. Ben kendim için yazmıştım , sizlerle de paylaşıyorum.. Kodları incelerseniz anlaşılmayan bir şey yok zaten eminim anlarsınız 🙂 Okumaya devam et PHP ile Alexa Değerlerini Almak