Category Archives: Ders

Iframe ve parent ilişkisi

3 yorum

Günün birinde iframe içerisindeki fonksiyona erişmeniz ya da iframe’den parent’a değer göndermeniz gerekirse bu videoyu hatırlayınız efendim 🙂 İyi seyirler.

Ek bilgi;
Eğer iframe’de parent’da oluşturduğunuz bir fonksiyonu çalıştırmak isterseniz. Örneğin test() fonksiyonunu parent’da oluşturduğunuzu varsayalım, iframe’de şu şekilde çağırabilirsiniz;

parent.test();
Konuyu görmek için tıklayın

PHP ile Sıfırdan Proje Oluşturmak

43 yorum

Bugün bir seriye başlamaya karar verdim. Aslında ilk bölümü çektiğimde bunun bir seri olmasını beklemiyordum ancak zaten eski PHP derslerim eskidiği için yenisini bunun ile çekebilirim.

İlk ders bir projenin altyapısı nasıl olmalı onunla ilgili. Yaklaşık 1 saatten uzun ve bir çok aksiliklerle dolu videoya aşağıdan ulaşabilirsiniz;

Güncelleme: .htaccess dosyanızda RewriteRule kuralının sonuna [QSA] ekleyin. Aksi taktirde $_GET parametrelerini çalıştıramazsınız. Örnek dosyalarda ben değişikliği yaptım, seviliyorsunuz.

Veritabanı sınıfı: https://github.com/tayfunerbilen/BasicDB
Permalink fonksiyonu: http://www.erbilen.net/php-sef-link-fonksiyonu
BasicDB Kullanımı: https://www.youtube.com/watch?v=RX7YxiMYzfA
Örnek dosyalar: https://yadi.sk/d/tt86xMDcxPYFc

Konuyu görmek için tıklayın

Tasarımlarda Standart Sistem Fontunu Kullanmak

1 yorum

Kodladığımız tasarımlarda farklı işletim sistemlerinde farklı font görüntüleri alıyoruz. Çünkü ne olursa olsun hepsinin kendine göre kriterleri var ve aynı sonucu göstermiyor. Ancak sistemlerin kendi standart fontları yeterince tutarlı öyle değil mi? O halde bootstrap 4’ün yaptığı gibi bizde hangi işletim sisteminden girildiyse o işletim sistemine ait standart fontu gösterebiliriz.

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

Bunu kullandıktan sonra farklı işletim sistemlerinden deneyerek sonuca ulaşabilirsiniz.

Konuyu görmek için tıklayın

Zincirleme (Chain) Metodu

3 yorum

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'
  });
Konuyu görmek için tıklayın

JavaScript Object Length Kullanımı

yorum yok

Bir dizinin boyutunu öğrenmek için length özelliğini kullanabilirsiniz. Örneğin;

var arr= ['Tayfun', 'Murat'];

alert(arr.length); // Output: 2

Ancak bunu bir object için yapmak istediğimizde biraz daha farklı şekilde kullanıyoruz;

var obj = new Object();
obj['name'] = 'Tayfun';
obj['surname'] = 'Erbilen';

alert(Object.keys(obj).length); // Output: 2

Kaynak: http://stackoverflow.com/a/6700

Konuyu görmek için tıklayın

OS X El Capitan Sass Kurulum Hatası ve Çözümü

yorum yok

Yakın zamanda mac’de işletim sistemimi güncelledim.
Ancak daha sonra sass’ı kullanamaz oldum.
Kurulum yaparken ise şöyle bir hata alıyordum;

ERROR:  While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/sass

Daha sonra biraz araştırınca benim gibi bir çok kişi el capitan’da sorun yaşamış.
Şöyle bir issue‘ya denk geldim ve çözümünü burada buldum. Sorun yaşayanlar için çözüm;

sudo gem install sass

yerine

sudo gem install -n /usr/local/bin sass

şeklinde kurulum yapmak.

Sorun yaşanlar olursa diye blog’da bulundurmak istedim bu konuyu 🙂
Bol kodlamalı günler.

Konuyu görmek için tıklayın

PHP timeAgo Fonksiyonu

7 yorum

Daha önce şurada paylaştığım halini unutup yeni halini kullanabilirsiniz 🙂

<?php

/**
 * @param $date
 * @return mixed
 */
function timeAgo($date)
{
    $timestamp = strtotime($date);
    $currentDate = new DateTime('@' . $timestamp);
    $nowDate = new DateTime('@' . time());
    return $currentDate
        ->diff($nowDate)
        ->format(' %y yıl %m ay %d gün %h saat %i dakika %s saniye önce');
}

$date = '2015-03-12 14:05:14';
echo timeAgo($date);
Konuyu görmek için tıklayın

Phonegap Uygulamasını AppStore’a Yüklemek

3 yorum

Öncelikle bu işleme başlamadan önce Mac’e sahip değilseniz bir tane almanız gerekiyor olabilir 🙂 (En azından benim anlatacağım yöntemde bu şart, başka yöntemler var ise alternatif olarak yorumlarda bahsedebilirsiniz)

Her neyse, şimdi adım adım AppStore’a uygulamamızı nasıl yükleriz görelim 🙂 Ben size anlatırken kendi hazırlamış olduğum İngiliççe uygulamamı yüklemiş olacağım 🙂

Adım 1
iTunes’e girelim. Bunun için Apple kimliğinizi kullanmanız gerekiyor. Yoksa bir tane oluşturun bla bla.
https://itunesconnect.apple.com

Adım 2
Giriş yaptıktan sonra My Apps’e tıklayın.

Ekran Resmi 2015-11-19 00.09.37

Giriş yaptığınızda ilk defa uygulama yüklüyorsanız (ki bu yazıyı okuyorsanız ilktir diye düşünüyorum) sizde boş bir sayfa gelecektir 🙂 Aşağıdaki resimde benim gönderdiğim 2 uygulama olduğu için onları görüyoruz.

Ekran Resmi 2015-11-19 00.12.10

Konuyu görmek için tıklayın

Windows Komut Satırında SSH Çalıştırma

3 yorum

Screenshot_9
Merhaba arkadaşlar,
Bugün bir sebepten dolayı SSH lazım oldu. Windows’un Komut Satırında doğrudan SSH çalışmadığını gördüm.
PuTTy’de kurmak istemedim açıkçası. Ne yapsam diye düşünürken ufak bir araştırma sonucu şöyle bir opensource (açık kaynak) proje keşfettim.
http://sshwindows.sourceforge.net/

Konuyu görmek için tıklayın

Laravel 5 – Dil (Language) Sistemi

19 yorum

Laravel 5 ile proje geliştiren arkadaşlar için, dil sisteminin kullanımını anlatmak istiyorum.
4. sürüme göre biraz daha farklı bir konsepti var, malum filter’lar gitti middleware geldi vs. (4’ü hiç kullanmadığım için tam emin değilim ama neyse :D)

Konuyu görmek için tıklayın