“Bu cümle yanlıştır”

Php de Zincirleme Yöntemi

Tarih: Mart 20th, 2010 | Yazar: | Kategoriler: Php | Etiketler: | Yorum Yok »

Birçok nesne tabanlı programlama dilinde uygulanan Zincirleme Yöntemini Php de nasıl yapacağımızı anlatmaya çalışacağım, bu yazımda.

Zincirleme yönetimi bir tanımlama ile birden çok fonksiyonu çalıştırmamızı sağlar. Şimdi aşağıdaki örnek sınıfımıza bir göz atalım.
Örnek Sınıfımız

class Kullanici
{
	private $ad = null;
	private $soyad = null;
	private $yas = null;
	
	public function setAd($ad)
	{
		$this->ad = $ad;
		return $this;
	}
	
	public function setSoyad($soyad)
	{
		$this->soyad = $soyad;
		return $this;
	}
	
	public function setYas($yas)
	{
		$this->yas = $yas;
		return $this;
	}
	
	public function getBilgiler()
	{
		echo 'Ad: ' . $this->ad . ' Soyad: ' . $this->soyad . ' Yas: ' . $this->yas;
	}
} 

Sınıfımızı zincirleme yöntemi kullanmadan kullanalım.

$kullanici = new Kullanici();
$kullanici->setAd('Can');
$kullanici->setSoyad('Aydoğan');
$kullanici->setYas(21);
$kullanici->getBilgiler();

Gördüğünüz gibi her ayar için yeni bir tanımlama yaptık. Pek pratik bir yöntem değil haliyle.
Sınıfımızı zincirleme yöntemi kullanarak kullanalım.

$kullanici = new Kullanici();
$kullanici->setAd('Can')->setSoyad('Aydoğan')->setYas(21)->getBilgiler();

Gördüğünüz gibi tek tanımlama ile hem ayarlarımızı gerçekleştirdik hem çıktımızı aldık. Peki bunu nasıl yaptık? Cevabı çok kolay setAd, setSoyad ve setYas fonksiyonlarında dönen değer olarak $this değişkenini tanımladık. Yani sınıfımızı kendisini dönen değer olarak döndürüyoruz. Dönen değer sınıfın kendisi olunca her fonksiyonun arkasından yeni bir fonksiyon tanımlamamız mümkün oluyor.


Googlebot Sitemizi Ne Zaman Ziyaret Etti Öğrenelim

Tarih: Mart 14th, 2010 | Yazar: | Kategoriler: Php | Etiketler: , | 2 Yorum »

Site sahipleri olarak hep merak ederiz Googlebot sitemize ziyaret etti mi ettiyse hangi sayfaları ne zaman ziyaret etti? Bu yazımda bu soruya Php ile cevap vermeye çalışacağım.

Bir ziyaretçi sunucuya istek gönderdiğinde yanında bazı bilgiler de gönderir. Bu bilgiler gelen olarak cookie ve tarayıcı ile ayarlardır. Bu bilgileri görüntülemek için aşağıdaki kodu kullanabilirsiniz.

<?php
print_r($_SERVER);
print_r($_COOKIE);
?>

Eğer yukarıdaki kodu çalıştırdıysanız karşınıza birçok veri listelenmiştir. Biz bu verilerden bir tanesi kullanarak Googlebot’un sitemize ziyaret edip etmediğini tespit edeceğiz. Kullanacağımız değişken $_SERVER[‘HTTP_USER_AGENT’]. Bu değişken  sayfamızı ziyaret eden tarayıcı ile ilgili bilgi veriyor. Googlebot’ları kullandığı tarayıcı ismi olarak  “Googlebot/2.1 (+http://www.google.com/bot.html)” bunu kullanıyor. Bizde bundan yola çıkarak Googlebot’un sitemizi ziyaretini tespit edeceğiz. Tespit ettikten sonra istediğiniz e-mail adresine mail gönderebilirsiniz.
Kodumuz aşağıda:

<?php
if (strpos( $_SERVER['HTTP_USER_AGENT'], 'Googlebot' ) !== false) {
//E-mail gönderiyoruz 
mail(
'email@adresiniz.com',
'Googlebot Sitenizi Ziyaret Etti!',
'Ziyaret edilen sayfa:' . $_SERVER['REQUEST_URI'] . ' Ziyaret saati' . date('Y-m-d h:m:s')
);
}
?>

Bu kodu kullandığınız scripte tüm sayfalarda çalışacak şekilde yerleştirirseniz Googlebot’un sitenizi ziyaret zamanına ve hangi sayfaları ziyaret ettiğini öğrenebilirsiniz.


jQuery de live() Kullanımı

Tarih: Mart 10th, 2010 | Yazar: | Kategoriler: Javascript, jQuery | Etiketler: , | 5 Yorum »

jQuery daha doğrusu JavaScript ile az çok uğraştıysanız eğer, bir sorunu fark etmişsinizdir. Sayfa ilk yüklendikten sonra eklenen elementleri daha önce eklediğimiz eventler(click, hover…)  tanımaz, tanıması için bu eventleri tekrar çalıştırmamız gerekir. Örnek ile göstermek gerekirse bu durumu.

$(document).ready(function(){
$('p').click(function(){
$('p').parent().append('<p>Tıkla Bana</p>');
});
});

Kodumuz yukarıda nasıl olduğuna bakmak için tıklayın.

Gördüğümüz gibi tıklama ile eklediğimiz paragraflara(p) tıkladığımız zaman hiçbir tepki vermiyor oysa sayfamıza ilk yüklenen paragraf(p) den hiçbir farkı yok. Bu sorunu aşmak için eklediğimiz event’i tekrar çalıştırmamız gerekiyordu daha önceden.
jQuery 1.4.0 da gelen live() methodu ile artık sayfaya yeni eklenen elementleri tanıtmak için eventleri tekrar çalıştırmamız gerek kalmadı. Şimdi yukarıdaki event’i live() methodu kullanarak tekrar yazalım ve daha iyi anlayalım.

$(document).ready(function(){
$('p').live('click', function(){
$('p').parent().append('<p>Tıkla Bana</p>');
});
});

Kodumuz yukarıda nasıl olduğuna bakmak için tıklayın.

Gördüğümüz gibi son eklenen element ile ilk gelen element arasında bir fark yok. Yani ile paragrafa(p) tıklandığında da tıklama sonucu gelen paragrafa(p) da tıklandığında aynı tepkiyi görebiliyoruz. Bunu live methodu ile mümkün kıldık.

Son olarak live methoduna bir bakalım.

.live( eventType, handler )
eventType(Olay tipi): Click, hover, keydown, keyup gibi hangi olaya tepki vermesini belirlediğimiz kısım.
handler(işleyici): Olay gerçekleştiğinde çalışacak işleyici tanımladığımız kısım. Mesela ben örnekte yeni nesne ekledim.


Godaddy de Auto Renew Seçeneğini Kapatma

Tarih: Mart 6th, 2010 | Yazar: | Kategoriler: Dışlananlar | Etiketler: | Yorum Yok »

Bildiğiniz üzere Godaddy dünyada ki en popüler alan adı kaydetme servislerinden biri hatta en popüleri. Bu güzel alan adı kayıt edici bize sürekli bir şeyler satma peşinde. Bunlardan en can sıkıcısı da auto renew seçeneğini (yani alan adının süresi bittiğinde otomatik olarak yenilemesi) bizim yerimize seçmesi. Aslında alan adını alırken bu seçeneği pasif duruma geçirebiliyoruz ama gözden kaçırdığımız durumlarda yada bu seçeneği bilmeyenler için bu yazımda auto renew nasıl pasif duruma geçireceğimizi anlatmaya çalışacağım zaten 7 adımda yapabileceğimiz kolay bir uygulama.

godaddy disable auto renew

Hesabımıza giriş yaptıktan sonra;

  1. Sol menüden My Renewals & Upgrades tıklıyoruz.
  2. Açılan menüden Payments & Renewing Items tıklıyoruz.
  3. Auto linkine tıklıyarak auto renew aktif olan domainleri listeliyoruz.
  4. Auto Renew seçeneğini pasif yapacağımız alan adlarının kutucuğuna tik atıyoruz.
  5. Auto Renew butonuna basıyoruz.
  6. Sağ tarafta karşımıza gelen radyo butonlardan Disable Auto Renew seçiyoruz.
  7. Son olarak Save Changes butonuna tıklıyoruz.

Your changes have been submitted! There will be a short duration while your request is pending update. Bu mesajı aldığımızda işlemimiz başarı ile yapılmıştır. Birkaç dakika sonra alan adlarındaki auto renew seçeneğinin pasif olduğunu göreceksiniz.


30 Adet Veri Görselleştirme Aracı

Tarih: Mart 3rd, 2010 | Yazar: | Kategoriler: Dışlananlar | Etiketler: , , | 2 Yorum »

Verilerimizi her zaman klasik tablolarda değil de daha görsel resimler veya grafik kullanarak görselleştirebiliriz. Bunun içinde bir çok araç mevcut bu yazımda bu araçların 30 tanesini tanıtacağım. Lafı daha fazla uzatmadan araçlar nelermiş bakalım.

Ajax.org

AnyChart

Axiis

BirdEye

Degrafa

DojoX Data Chart

Chronoscope

Dundas

ExtJs

Flex

FlexMonster Pivot Table and Charts

FusionCharts

Google Chart API

gRaphaël

iLog Exlixir

JFreeChart

JQuery Plugins

JPowered

JSCharts

Kap IT Labs Diagrammer and Visualizer

MilkChart

Open Flash Charts

PlotKit

Protovis

Silverlight

Stack

Telerik Charts for Silverlight, WFP, ASP.NET

VisiFire

Websites as Graphs

yFiles for Ajax , .NET or Flex