Genel

PHP ile Trait'ler (traits)

Tamer tarafından, 05 01 2013 03:21:00 tarihinde yayınlandı.

Uzun bir aradan sonra yeniden merhaba, Bu paylaşımında sizlere PHP 5.4.0 versiyonu ile birlikten gelen "traits" özelliğinden bahsedeceğim.

Trait ?

"trait" bir sınıf gibi oluşturuluyor fakat bir sınıf gibi kullanamıyorsunuz. Kullanım yeri için kafamızda birşeylerin belirmesi için bir örnek verecek olsaydım; ortak fonksiyon toplama alanı diyebilirdim. Tabiki bu basit bir anlatış olacak.Tabi örnek kullanım şeklini görmeden anlaşılması biraz karışık olabilir.


NORMAL KULLANIM ŞEKLİ


trait tavuklar {
        public function kirmizi() {
	        echo "kirmizi tavuk!";
	    }
	}
	 
	trait horozlar {
	    public function siyah() {
	        echo "siyah horoz!";
	    }
	}
	 
	class kumes {
	    use tavuklar, horozlar;
	}
	 
	$ornek = new kumes;
	$ornek->kirmizi(); // kirmizi tavuk!
	$ornek->siyah(); // siyah horoz!


ELEMELİ KULLANIM ŞEKLİ

 
trait tavuklar { 
	    
  public function kirmizi() { 	        
    echo "kirmizi tavuk!"; 	    
  } 
            
  public function siyah(){                
    echo "siyah tavuk!";             
  } 	
}
 	  	
trait horozlar {  
           
  public function kirmizi() {
    echo "kirmizi horoz!";
  } 	  
  
  public function siyah() {
    echo "siyah horoz!";
  } 	
} 	
  	
class kumes { 	    
  use tavuklar, horozlar{             
    horozlar::kirmizi insteadof tavuklar;             
    horozlar::siyah insteadof tavuklar;             
    tavuklar::kirmizi as kirmizitavuk;            
  } 	
} 	  	

$ornek = new kumes; 	

$ornek->kirmizi();  // kirmizi horoz! 	
$ornek->siyah();    // siyah horoz!         
$ornek->kirmizitavuk(); // kirmizi tavuk! 
 

Yukardaki örnekte mukerrer fonksiyon isimlerinin kullanılabilir haklarını "use" kısmında belirtiyoruz. ulaşamadımız tavuklar trait'inin kirmizi tavuklarına ulaşmak içinde "tavuklar::kirmizi as kirmizitavuk" örnekteki kombinasyonu sağlıyoruz.

STATIC KULLANIM ŞEKLİ


trait statikOrnek {
    public static function foo() {
        return 'Merhaba Dünya!';
    }
}

class ornek {
    use statikOrnek;
}

ornek::foo(); // Merhaba Dünya

Etiketler : Yazılım, PHP, Genel

MAMP ile MongoDB Başlarken

Tamer tarafından, 02 13 2013 08:03:00 tarihinde yayınlandı.

Başlarken diyorum çünkü MAC'inize MongoDB kurmak çok  kolay,

Öncelikle Terminal'i açıp HOMEBREW(Paket yöneticisi) kuruyoruz.

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

HOMEBREW kurulduktan sonra

brew update

bunu yenile gibi düşünebilirsiniz.

brew install mongo

Kuruyorsunuz...

brew update

Güncelliyorsunuz ayrıca;

brew list

derseniz kurulduğunu görebilirsiniz. bu kadar şimdi test ediyoruz

mongod

ekran çıktısı olarak aşağıdaki yazı gelecektir. log dosyasını konsol ile bakabilirsiniz.
all output going to: /usr/local/var/log/mongodb/mongo.log

Terminal'de test etmek veya kullanmak için

mongo

yazmanız yeterli..

Geriye  PHP'ye entegre etmek kaldı.

Aşağıdaki adresten php sürümünüze uygun eklentiyi indirin.

https://github.com/mongodb/mongo-php-driver/downloads

inen ".so" uzantılı dosyayı

MAMP Uygulama klasörünün içinde bulunan ( genelde /Applications/MAMP/ )

/bin/php/(kullandığınız PHP sürümü)/lib/php/extensions/no-debug-non-zts... klasörünün içine taşıyoruz.

sonra /bin/php/(kullandığınız PHP sürümü)/conf/php.ini dosyasını herhangi bir yazı editör ile açıp

extension=mongo.so

satırını ekliyoruz, son olarak MAMP'ı yeniden çalıştırıyoruz.

<?php phpinfo(); ?>
phpinfo'ya bakıp kontrol ediyoruz.




Etiketler : Veritabanı, Yazılım, PHP, Genel

Sonunda Lomo'm geldi!

Tamer tarafından, 01 03 2013 21:20:00 tarihinde yayınlandı.

Öncelikle lomography'den bahsetmek gerekirse;

1994 yılında New York ve Moskova'da açılan ilk Lomo sergilerinin ardından kendine has bir doku üreterek çalışan bu makinanın kullanıcıları Lomografi akımını tanımladılar. Vizörden bakmadan, belli bir konum ve çerçeveye bağlı olmadan çekilen, netlik, doğru kadraj gibi teknik sınırlamaların reddedildiği bu anlayışla çekilen fotoğrafların yayımlandığı özel sergiler ve daha sonra internet siteleri açıldı. Alanda en çok tanınan sitenin yürütücüsü Avusturya'lı Lomographische AGLomography markasını ticari anlamda saklı tutmaktadır.
Wikipedia

 

Bana göre lomography düşünme çek, sonuçlarını merak et akımı.

İşte bu akıma dahil olmak adına geçtiğimiz hafta Türkiye'de stokları olmadığı için amazon.com'dan bir adet La Sardina marka lomo aleti aldım.

10 Altın Lomografi Kuralı

Tamer tarafından, 12 27 2012 22:30:00 tarihinde yayınlandı.

1. Kameranızı gittiğiniz her yere götürün. Nerede ne ile karşılacağınızı asla bilemezsiniz.

2. Kameranızı günün her saati kullanın, gündüz ve gece. Çünkü her anın ayrı bir hissi var.

3. Kameranız hayatınızın akışını engellememeli; onun bir parçası olmalı. Tıpkı yemek, içmek, konuşmak, yürümek, düşünmek gibi...

4. Kameranızı farklı açılarda tutun. Deklanşöre basarken, ne çektiğinizi görmek zorunda değilsiniz.

5. Kameranız elinizdeyken, yakınlaşmaktan korkmayın. İçinizde fotoğraf çekme arzusu oluşturan nesne ya da kişiyi mümkün olduğunca yakın markaja alın.

6. Düşünmeyin! Kameranızı alın, dışarı çıkın ve önünüze geleni çekin.

7. Hızlı olun! Saniyenin onda biri bile önemli. Ayarlarla vakit kaybetmeyin.

8. Film üzerine ne kaydettiğinizi önceden bilmek zorunda değilsiniz. Rastlantılara izin verin. Hayatın keyfini çıkartmaya bakın.

9. Sonradan da... “Aaa! O ne? Bunu ne zaman çekmişim? Nerde çekmişim?” Beyninizi bu tür sorularla meşgul etmeyin.

10. Kuralları kafanıza takmayın. 10 Altın Kural’ı unutun. Canınız ne istiyorsa, onu yapın.

kaynak : Wikipedia

Yii Framework – Controller Sonlandırma (END ACTION)

Tamer tarafından, 12 18 2012 02:19:00 tarihinde yayınlandı.

Kimi zaman projelerde işlemi durdurmak yani iptal etmek isteyebilirsiniz. Örneğin geçersiz giriş, eksik parametre vb.. 

İşte bu gibi durumlarda aşağıdaki verdiğim örnekte olduğu gibi Yii Controller'a end() function'nu ekleyip  durdurabilirsiniz.

if (empty($_GET))
Yii::app()->end();
Etiketler : Yii Framework, Yazılım, PHP, Genel
1 | 2 | 3 | 4