“Dünya eskisinden kötü değil. Sadece iletişim çok gelişti.”

Php de Passing By Reference ve Returning References

Tarih: Ocak 18th, 2010 | Yazar: | Kategoriler: Php | Etiketler: , , | 1 Yorum »

Bugün size karışık gibi görünen fakat oldukça basit bir konuyu yani passing by reference (gönderimle aktarım) ve returning references (gönderimle döndürme) anlatmaya çalışacağım. Öncelikle references ne olduğuna bakalım.

<?php
$a = 1;
$b = 2;
$a =& $b;
echo $a; //Ekrana 2 yazar
$a = 10;
echo $b; //Ekrana 10 yazar
$b = 20;
echo $a; //Ekrana 20 yazar
unset($a);
echo $b; //Ekrana 20 yazar
?>

Yukarıdaki kodu incelediğinizde fark edeceksiniz ki $a ve $b değişkenleri sanki birbirlerinin aynısı gibi davranıyorlar. Yani $a artarsa $b de aynı oranda artıyor veya $b azalırsa $a da aynı oranda azalıyor ve aynı değere sahip oluyor iki değişkende. Eğer daha önce references kullanmadıysanız fark edeceksiniz ki $a değişkenin $b değişkenine eşitlerken ve(&) karakterini kullanmışız. Ve karakteri ile $a değişkeninin $b değişkenin aynısı olmasını sağladık yani bellekte aynı bölgeyi iki farklı değişken ile işgal etmiş oluyoruz. Ama unset ile $a değişkenini yok ettiğimizde $b değişkenine birşey olmayacaktır. References değişkenlerde kullanımı bu şekilde. Şimdi fonksiyonlardaki argüman atamalarında yani passing references da durum nasıl onu inceleyelim.

<?php
function foo(&$b)
{
    $b++;
}
$a = 1;
foo($a);
echo $a; //Ekrana 2 basar.
?>

Yukarıdaki argüman atamasında ise $b’nin önüne ve(&)  karakteri konuluyor bu sayede $b değişkenin ile $a değişkeni tamamen eşitleniyor. Yani  yukarıda yaptığımız passing by variable işlemini bir benzeri yapılış biçimi farklı olsa da yaptıkları iş birbirinin aynısı $b değişkeni artarsa $a değişkeni de aynı oranda artacaktır. Ve son olarak returning by references inceleyelim.

class foo {
    public $deger = 99;

    public function &getDeger() {
        return $this->deger;
    }
}

$obj = new foo;
$a = &$obj->getDeger();//$a değişkenine returning references uyguladık.
$obj->deger = 100;
echo $a;//Ekrana 100 basar

Burada ise $a değişkenini getDeger fonksiyonundan dönen değer ile eşitliyoruz yani aynısı yapıyoruz. Bu sayede nesne içinden veya dışından $deger değişkeninde herhangi bir değişiklik yaptığımızda aynı değer $a değişkenimizede yansıyacaktır.  Bu sayede $deger değişkeninde ne olduğunu öğrenmek için nesne üzerinden çağırma yapmamıza gerek kalmıyor $deger değişkenindeki tüm veriyi $a değişkeni üzerinden kolayca görebilmekteyiz.


Google Chrome Eklediğimiz Şifreleri Silelim

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

Eğer Google Chrome ile sitelerinizi gezerken üye bilgilerinizi kayıt ettiyseniz ve bundan kurtulmak istiyorsanız bunu yapmak çok kolay aşağıdaki adımlardan faydalanarak yapabilirsiniz.


Highcharts İle Verilerimizi Görselleştirelim

Tarih: Ocak 16th, 2010 | Yazar: | Kategoriler: Javascript | Etiketler: , | 1 Yorum »

Eğer sitenizdeki istatistiklerinizi tablo (chart) ile göstermek isterseniz veya herhangi başka bir sebep ile verilerinizi görselleştirmek istiyorsanız ve flash ile değilde javascript ile bunu yapmak istiyorsanız “Highcharts” bunu yapan en iyi uygulamalardan biri.

Pasta, sutün, çubuk, çizelge(areachart) ve çeşitli kombinasyonlar ile oluşturabilceğiniz tabloları Highcharts ile yapabilirsiniz.

Verilerimizi JavaScript Object Notation yapısını kullanarak giriyoruz yani anahtarlar, virgül ve parantez kullanarak.

Highcharts JQuery altyapısını kullanarak çalışıyor zaten sayfanızda JQuery kullanıyorsanız size avantaj sağlayacaktır. Test ettiğim taraycılar ise Internet explorer 6, 7, 8, Opera 10, Firefox 3.5.7, Safari 4.0.4 test ettiğim kadarı ile bunların hiç birinde sorun yok.

Sizde Highcharts kullanmak istiyorsanız aşağıdaki linklerden faydalanabilirsiniz.

Demo

İndir

Highcharts


Merhaba Dünya

Tarih: Ocak 1st, 2010 | Yazar: | Kategoriler: Dışlananlar | Etiketler: | Yorum Yok »

“Merhaba Dünya” nedir bilir misin?

İki kelimeden oluşmuş basit bir cümle, o kadar basit ki anlamını ifade edecek bir cümleye gerek bile yok mu diyorsun. Maalesef cevap bu değil “Merhaba Dünya”nın ne ifade ettiğini anlatmak için bir blog yazısına ihtiyaç var. İhtiyacı karşılayacak yazı da tam burada.

Yeni bir programlama dili öğrenmişsindir yada program yazmaya yeni başlamışsındır. Haliyle o dil hakkında pek fazla bilgin yok bir şeyler yazıp çalışıp çalışmadığını kontrol etmek gerekir tam o anda programcının sıcacık ellerinde iki kelimden oluşan o cümle dökülü verir. Tabi başına bir şeyler yazmak gerekir kimi zaman “print” kimi zaman “echo” kimi zaman ise “write”. Şimdi çalıştırma zamanı web ile ilgili bir şey ise browser açılır localhost/blabla yazılır ve enter’a basılı verir masaüstü programı ise kullanılan IDE’nin menüsünde run komutu aranır. Bastık ve çalıştırdık aaa ne oldu ekranda o cümle yok başka bir şeyler yazıyor neden acaba demeden syntax hatası yaptığımızı fark ederiz. Ya tırnağı kapatmayı unuttuk yada bir noktalı virgülü  hemen hatamızı gideririz. Yeniden çalıştır komutu veririz. İşte o an ekranda “Merhaba Dünya” yazdığını görürüz. O cümleyi gördüğümüz an içimizi bir huzur kaplar duruma göre ya ben bu işi becerebilirim dersin yada bu dil tam bana göre. “Merhaba Dünya”  budur işte.

Tatava yapmayı bırakıp sadede gelirsem blogumda php, JQuery, css, Zend Framework  ve sektörle ilgili bazı haberler hakkında yazılar yazacağım.