<?xml version="1.0" encoding="iso-8859-9"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CODE PROJECT &#124; php, codeigniter, smarty, design patterns &#187; php</title>
	<atom:link href="http://code.internet.com.tr/etiket/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://code.internet.com.tr</link>
	<description>bir gün bir gün bir çocuk</description>
	<lastBuildDate>Sun, 31 Jan 2010 11:11:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>cURL &#8211; Giriş</title>
		<link>http://code.internet.com.tr/curl-giris/</link>
		<comments>http://code.internet.com.tr/curl-giris/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 17:42:47 +0000</pubDate>
		<dc:creator>Fatih</dc:creator>
				<category><![CDATA[curl]]></category>
		<category><![CDATA[ipuçları]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[anlatım]]></category>
		<category><![CDATA[çözüm]]></category>
		<category><![CDATA[örnek]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=450</guid>
		<description><![CDATA[Merhabalar,
Bu makalede piyasada çok konusuldugu halde bir türlü kaynaklarina, örneklerine ve anlatimlarina pek rastlayamadigimiz, kaynaklarin nerdeyse php-manual’le sinirli oldugu CURL kütüphanesine deginecegiz.

CURL mevzusu nedir ne degildir onu kavrayalim öncelikle…CURL farkli sunuculardan farkli protokoller ile (http, ftp, https gibi.) iletisim kurmaya yarayan güzide bir PHP kütüphanemizdir demis php-manual…Bu enfes kütüphane ayni zamanda çerezlerin, post verilerinin karsiya [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/curl-giris/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>auth sınıfı kullanımı</title>
		<link>http://code.internet.com.tr/auth-sinifi-kullanimi/</link>
		<comments>http://code.internet.com.tr/auth-sinifi-kullanimi/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 20:32:36 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[proje]]></category>
		<category><![CDATA[auth]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[üyelik]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=436</guid>
		<description><![CDATA[bir önceki yazımızda codeignitere auth sınıfını nasıl entegre edeceğimizi anlatmıştık. şimdi bu sınıfı nasıl kullanacağımıza bakalım.

Eğer daha önce okumadıysanız auth sınıfı yazısına göz atınız

PROJE DOSYASI 
+ parse sınıfı ve kullanımı
+ auth sınıfı ve kullanımı
+ smarty sınıfı ve kullanımı


/project/system/application/controllers/user.php

Yeni kullanıcı ekleme

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
    function register&#40;&#41; &#123;
        if&#40;!LOGIN&#41;
  [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/auth-sinifi-kullanimi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>auth sınıfı</title>
		<link>http://code.internet.com.tr/auth-sinifi/</link>
		<comments>http://code.internet.com.tr/auth-sinifi/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 20:24:08 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[proje]]></category>
		<category><![CDATA[auth]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[üyelik]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=424</guid>
		<description><![CDATA[projemizde kullanıcıların, üye girişi, kayıt ve üyelik işlemleri için bir sınıf yazmamız gerekli. ben bu sınıfın projede kullanılacak ozelleklerini oluşturdum. daha sonra bu sınıfımızı geliştireceğiz. şu an için kullanılacak özelliklere bakalım.

TÜM DOSYALARI İNDİRMEK VE AUTH SINIFININ KULLANIMI İÇİN TIKLAYIN
Sınıfımızın methodları
Auth : sınıfımızın constructoru checklogin fonksiyonunu cagirir.
checkLogin : siteye giriş yapılıp yapılmadığını kontrol eder ve setDefine [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/auth-sinifi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>parse sınıfı</title>
		<link>http://code.internet.com.tr/parse-sinifi/</link>
		<comments>http://code.internet.com.tr/parse-sinifi/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 22:24:14 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[proje]]></category>
		<category><![CDATA[description]]></category>
		<category><![CDATA[file_get_contents]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[meta]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[parse]]></category>
		<category><![CDATA[parser]]></category>
		<category><![CDATA[preg_match]]></category>
		<category><![CDATA[preg_match_all]]></category>
		<category><![CDATA[resim]]></category>
		<category><![CDATA[simplexml]]></category>
		<category><![CDATA[src]]></category>
		<category><![CDATA[title]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=420</guid>
		<description><![CDATA[simplexml ile ilgili daha önce yazı yazmıştım. xml ve html yi parse edecek bir sınıf yazacağız.
bu sınıfı daha sonra geliştirip projemizde kullanacağız.
sınıfımız ne yapacak.
xml dosyasından xpath ile title, link ve description alacak.
html sayfasından title, description ve resimleri çekecek.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
&#60;?php if &#40;!defined&#40;'BASEPATH'&#41;&#41; exit&#40;'No direct script access allowed'&#41;;
&#160;
class Parse &#123;
&#160;
    var $xpath;
    [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/parse-sinifi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>smarty</title>
		<link>http://code.internet.com.tr/smarty/</link>
		<comments>http://code.internet.com.tr/smarty/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 20:32:15 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[proje]]></category>
		<category><![CDATA[smarty]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[kurulum]]></category>
		<category><![CDATA[smarty kurulumu]]></category>
		<category><![CDATA[tema]]></category>
		<category><![CDATA[theme]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=410</guid>
		<description><![CDATA[projemizde codeigniter ile smarty kullanacağız. aslında codeigniter&#8217;in kendi template parseri var. fakat smarty kullanılması tema dosyalarının daha duzenli ve okunaklı olmasını sağlıyor veya bana öyle geliyor.
bu konuda codeigniter ile birlikte smarty&#8217;nin nasıl kullanılacağını anlatacağım.

önceki yazılarımızda codeigniter&#8217;i nasıl kuralacağınızı anlatmıştım.
smarty&#8217;nin sitesinden son sürümünü indiriyoruz. ben 2.6.26 sürümünü indirdim ve /libs klasörünü codeigniteri yuklediğimiz /project klasorunun içine [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/smarty/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>simplexml</title>
		<link>http://code.internet.com.tr/simplexml/</link>
		<comments>http://code.internet.com.tr/simplexml/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 19:23:55 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[proje]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[simplexml]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=406</guid>
		<description><![CDATA[digg benzeri bir proje yapacağımız için xml kayıtlarını okuyacak bir sınıf hazırlamamız gerekli. simplexml diye bişey olduğunu biliyordum fakat onceden php5 kullanmadığım için incelememiştim.
Dün gece simplexml araştırdım bayada hoşuma gitti. Şimdi kısaca kullanımını sizlerede anlatacağım.

a.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
&#60;?xml version=&#34;1.0&#34;?&#62; 
&#60;rss&#62;
&#60;channel&#62;
&#60;item&#62; 
&#60;title&#62;php ile xml&#60;/title&#62; 
&#60;description&#62;hede hödö&#60;/description&#62; 
&#60;/item&#62; 
&#60;item&#62; 
&#60;title&#62;php ile rss&#60;/title&#62; 
&#60;description&#62;vırrık cırrık&#60;/description&#62; 
&#60;/item&#62; 
&#60;/channel&#62; 
&#60;/rss&#62;

xml dosyasını yükleyelim.

1
$xml = [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/simplexml/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>codeigniter kurulumu</title>
		<link>http://code.internet.com.tr/codeigniter-kurulumu/</link>
		<comments>http://code.internet.com.tr/codeigniter-kurulumu/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 10:34:53 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[proje]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=400</guid>
		<description><![CDATA[1- Öncelikle http://codeigniter.com/downloads/ adresinden codeigniter&#8217;in en son sürümünü indiriyoruz. Ben en son sürüm olan 1.7.1 indirdim.
2- İndirdiğimiz zip dosyasını açıyoruz ve sunucumuza yüklüyoruz.
3- CodeIgniter_1.7.1 olan klasör adını &#8220;project&#8221; olarak değiştiriyoruz. (siz istediğiniz gibi değiştirebilirsiniz)
evet codeigniter kurulumumuz tamamlandı. şimdi ayarları nasıl düzenleyeceğimize bakalım.
system\application\config\config.php dosyasını açıyoruz.
$config['base_url']	= &#8220;http://example.com/&#8221;; kısmına kendi adresimizi giriyoruz.
$config['charset'] = &#8220;UTF-8&#8243;; kısmına kullanacağımız dil kodlamasını [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/codeigniter-kurulumu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>memento design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/memento-design-pattern/</link>
		<comments>http://code.internet.com.tr/memento-design-pattern/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 00:03:28 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[behavioral]]></category>
		<category><![CDATA[davranışsal]]></category>
		<category><![CDATA[hatıra]]></category>
		<category><![CDATA[memento]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[tasarım şabonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=393</guid>
		<description><![CDATA[Memento tasarım şablonu davranışsal (behavioral patterns) tasarım şablonları gurubunda yer alır. Nesnelerin o anki durumlarını saklamamıza izin verip daha sonra tekrar istediğimiz gibi kullanmamızı sağlar.

örnek

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
&#60;?php
&#160;
class Memento &#123;
    private $page;
    function __construct&#40;$in&#41; &#123;
      $this-&#62;set&#40;$in&#41;;
    &#125;
    public function get&#40;&#41; &#123;
 [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/memento-design-pattern/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>template method design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/template-method-design-pattern/</link>
		<comments>http://code.internet.com.tr/template-method-design-pattern/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 23:28:17 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[behavioral]]></category>
		<category><![CDATA[davranışsal]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[şablon metot]]></category>
		<category><![CDATA[tasarım şablonu]]></category>
		<category><![CDATA[template method]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=389</guid>
		<description><![CDATA[Template method tasarım şablonu davranışsal (behavioral patterns) tasarım şablonları gurubunda yer alır. Template method ile bir algoritma için gerekli işlemler soyut olarak tanımlanır. Alt sınıflar algoritma için gerekli bir yada birden fazla işlemi kendi bünyelerinde implemente ederek, kullanılan algoritmanın kendi istekleri doğrultusunda çalışmasını sağlıyabilirler.

Mssql , Mysql, Oracle ile çalışabilecek bir sistem tasarladığımızı düşünelim. bunların ortak [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/template-method-design-pattern/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>command design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/command-design-pattern/</link>
		<comments>http://code.internet.com.tr/command-design-pattern/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 22:38:13 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[behavioral]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[davranışsal]]></category>
		<category><![CDATA[komut]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[tasarım şablonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=385</guid>
		<description><![CDATA[Command (komut) tasarım şablonu davranışsal (behavioral patterns) tasarım şablonları grubunda yer alır. Kullanım amacı kullanacağımız methodları nesne haline getirmek ve istediğimiz zaman çağırmak.

Küçük bir örnek vermek gerekirse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Command &#123;
	public function add&#40;&#41;  &#123;
		$command = new Read&#40;&#41;;
		$this-&#62;_commands &#91;&#93;= $command;
	&#125;
&#160;
	public funtion run&#40;&#41;
	&#123;
		foreach&#40;$this-&#62;_commands as $cmd&#41;  &#123;
			$cmd-&#62;execute&#40;&#41;;
		&#125;
	&#125;
&#125;
&#160;
$command = new Command&#40;&#41;;
$command-&#62;add&#40;&#41;;
$command-&#62;add&#40;&#41;;
$command-&#62;add&#40;&#41;;
$command-&#62;add&#40;&#41;;
$command-&#62;run&#40;&#41;; // dedigimizde tum komutları çalıştırır

evet şimdi örneğimize geçebiliriz. [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/command-design-pattern/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>observer design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/observer-design-pattern/</link>
		<comments>http://code.internet.com.tr/observer-design-pattern/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 23:23:32 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[behavioral]]></category>
		<category><![CDATA[davranışsal]]></category>
		<category><![CDATA[gözlemci]]></category>
		<category><![CDATA[observer]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[tasarım şablonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=381</guid>
		<description><![CDATA[Observer (gözlemci) tasarım şablonu davranışsal (behavioral paterns) tasarım şablonları grubunda yer alır. observer ile nesnede meydana gelen değişiklikleri diger sınıflara bildiririz. 

bir kullanıcı sınıfımızın olduğunu düşünelim. bu sınıfa yeni eleman eklediğimizde veya sildiğimizde database ve logger sınıflarına bu bilgiyi göndermesini istiyoruz. şimdi örneğimize bakalım.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
&#60;?php
&#160;
interface IObserver
&#123;
&#160;
        public function onChange&#40;$sender, [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/observer-design-pattern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>state design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/state-design-pattern/</link>
		<comments>http://code.internet.com.tr/state-design-pattern/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 21:00:19 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[behavioral]]></category>
		<category><![CDATA[davranışsal]]></category>
		<category><![CDATA[durum]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[state]]></category>
		<category><![CDATA[tasarım şablonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=376</guid>
		<description><![CDATA[State (durum) tasarım şablonu davranışsal (Behavioral patterns) grubunda yer alır. Bir nesnenin davranışını duruma göre değiştirmesini sağlar. Nesne sınıfını değiştiriyormuş izlenimi verir.

state pattern ile ilgili örneğimize geçebiliriz. forumumuz olduğunu düşünelim va başlıklara &#8220;yeni mesaj ekleme&#8221;, &#8220;mesaj silme&#8221;, &#8220;başlığı kitleme&#8221; ve &#8220;başlık kilidini açma&#8221; özellikleri ekleyelim. 
başlık kitli olduğunda &#8211; yeni mesaj eklenemez, mesaj silinemez, başlık [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/state-design-pattern/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>proxy design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/proxy-design-pattern/</link>
		<comments>http://code.internet.com.tr/proxy-design-pattern/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 22:42:00 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[structural]]></category>
		<category><![CDATA[tasarım şablonu]]></category>
		<category><![CDATA[vekil]]></category>
		<category><![CDATA[yapısal]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=370</guid>
		<description><![CDATA[Proxy (vekil) tasarım şablonu yapısal (structural patterns) tasarım şablonları gurubunda yer alır. Kullanım amacı başka bir nesneye kontrol ve erişim için vekillik sağlamaktır.


şimdi öğreniğimizi inceleyelim.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
&#60;?php
&#160;
interface GeneratorInterface
&#123;
    public function showImage&#40;&#41;;
&#125;
&#160;
// realsubject sınıfı
&#160;
class ImageGenerator implements GeneratorInterface
&#123;
    private $image;
&#160;
    function __construct&#40;$image&#41;
    &#123;
     [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/proxy-design-pattern/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>visitor design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/visitor-design-pattern/</link>
		<comments>http://code.internet.com.tr/visitor-design-pattern/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 19:40:51 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[behavioral]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[tasarım şablonu]]></category>
		<category><![CDATA[visitor]]></category>
		<category><![CDATA[ziyaretçi]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=334</guid>
		<description><![CDATA[Visitor (ziyaretçi) tasarım şablonu davranışsal (Behavioral Patterns) tasarım şablonları gurubunda yer alır. Bu tasarımın kullanılmasının amacı birleşik bir yapı üzerine yeni methodların eklenmesidir.
Bir sınıfa yeni method eklememiz gerektiğini düşünelim eğer bu programımızın tasarımını bozacak ise visitor tasarım şablonunu kullanabiliriz. Visitor tasarım şablonu işlevsellik açısından decorator tasarım şablonuna benzerlik gösterir.


visite sınıflarımız

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
abstract class Visite &#123;
   [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/visitor-design-pattern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bridge design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/bridge-design-pattern/</link>
		<comments>http://code.internet.com.tr/bridge-design-pattern/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 20:12:32 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[bridge]]></category>
		<category><![CDATA[köprü]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[structural]]></category>
		<category><![CDATA[tasarım şablonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=328</guid>
		<description><![CDATA[Bridge (köprü) tasarım şablonu yapısal (structural patterns) tasarım şablonları grubunda yer alır. Bu yöntem sayesinde sınıf hiyerarşileri daha esnek bir hale getirilir. 

Şimdi grafik ile bridge tasarım şablonunun ne işe yaradığını anlamaya çalışalım.
bridge kullanmadan önce

bridge kullanarak

grafikleri inceledikten sonra örneğimize geçebiliriz.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
&#60;?php
&#160;
interface MailTransport
&#123;
	public function send&#40;$from, $to, $body&#41;;
&#125;
&#160;
class SendMail implements MailTransport
&#123;
    public function send&#40;$from, $to, [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/bridge-design-pattern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>flyweight design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/flyweight-design-pattern/</link>
		<comments>http://code.internet.com.tr/flyweight-design-pattern/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 17:55:47 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[flyweight]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[sinek siklet]]></category>
		<category><![CDATA[structural]]></category>
		<category><![CDATA[tasarım şablonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=323</guid>
		<description><![CDATA[Flyweight (sinek siklet) tasarım şablonu yapısal (structural patterns) tasarım şablonları grubunda yer alır. Flyweight kullanım amacı kullanılan nesne sayısının aşşağıya çekilmesidir. 1 tane nesne oluşturup farklı verileri bu nesneye method parametresi olarak göndeririz.



1
2
3
4
5
6
7
8
9
10
11
12
class TextBox&#123;
    private $name;
&#160;
    public function __construct&#40;$name, $value=''&#41;&#123;
        $this-&#62;name=$name;
  [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/flyweight-design-pattern/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>polymorphism</title>
		<link>http://code.internet.com.tr/polymorphism/</link>
		<comments>http://code.internet.com.tr/polymorphism/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 21:18:06 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[polimorfizm]]></category>
		<category><![CDATA[polymorphism]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=317</guid>
		<description><![CDATA[Polimorfizm, değişik şekilleri alabilme anlamına gelmektedir. Bir sınıfa ait nesne, o sınıfın alt sınıflarından birinin şekline bürünebilir. Bu nesneler içeride farklı çalışmalarına rağmen dışarıdan bakıldığında aynı görülür.

Şimdi bir örnek vererek konuyu anlamaya çalışalım.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
class Hayvan
&#123;
	public function ses&#40;&#41;
	&#123;
		print 'Bu methodu direk cagiramazsiniz';
	&#125;
&#125;
&#160;
class Kopek extends Hayvan
&#123;
	public function ses&#40;&#41;
	&#123;
		print 'hav hav';
	&#125;
&#125;
&#160;
class Kedi extends Hayvan
&#123;
	public function ses&#40;&#41;
	&#123;
		print 'miyav';
	&#125;
&#125;
&#160;
function printSes&#40;$obj&#41;
&#123;
	if &#40;$obj [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/polymorphism/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>builder design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/builder-design-pattern/</link>
		<comments>http://code.internet.com.tr/builder-design-pattern/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 18:11:49 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[builder]]></category>
		<category><![CDATA[creational]]></category>
		<category><![CDATA[inşaatçı]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[tasarım şablonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=313</guid>
		<description><![CDATA[Builder (inşaatçı) tasarım şablonu yapısal (creational patterns) tasarım şablonları grubunda yer alır. Builder kullanmaktaki amaç kompleks yapıdaki bir nesneyi parçalamak birden fazla nesne ile oluşturmaktır. 
Bir kahve makinası düşünelim parayı atıyoruz ve karşımıza seçim listesi geliyor seçim listesinde kahve, çay, ıhlamur vb. içecekler var. seçimimizi yapıyoruz makina seçtiğimiz içeceği hazırlıyor ve bize veriyor.

afiyet olsun.
şimdi yukarıdaki [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/builder-design-pattern/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iterator design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/iterator-design-pattern/</link>
		<comments>http://code.internet.com.tr/iterator-design-pattern/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 17:18:02 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[behavioral]]></category>
		<category><![CDATA[iterator]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[tasarım şablonu]]></category>
		<category><![CDATA[tekrarlayıcı]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=308</guid>
		<description><![CDATA[Iterator (tekrarlayıcı) tasarım şablonu davranışsal (Behavioral Patterns) tasarım şablonları grubunda yer alır. Listede yer alan nesnelere sırayla erişebilir ve bu nesneler üzerinde işlem yapabiliriz.
php5 bu tasarım şablonunu kendi yapısındada The Standard PHP Library (SPL) altında bulundurmaktadır. SPL yi ileriki zamanlarda anlatacağım biz bu yazımızda iteratorun çalışma mantığını inceleyeceğiniz.

bu patternin aslında çok anlatılacak bir olayı yok. [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/iterator-design-pattern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>composite design pattern &#8211; php</title>
		<link>http://code.internet.com.tr/composite-design-pattern/</link>
		<comments>http://code.internet.com.tr/composite-design-pattern/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 06:21:14 +0000</pubDate>
		<dc:creator>Emre Çevik</dc:creator>
				<category><![CDATA[design patterns]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[composite]]></category>
		<category><![CDATA[kompozit]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[structural]]></category>
		<category><![CDATA[tasarım şablonu]]></category>

		<guid isPermaLink="false">http://code.internet.com.tr/?p=301</guid>
		<description><![CDATA[Composite (kompozit) tasarım şablonu yapısal (Structural Patterns) tasarım şablonları grubunda yer alır. Composite bir sistemin bütünü ile parçalarının birbiriyle ilişkileri sadeleştirmek için kullanılır. 
Anlatımımız biraz garip oldu bir örnek vererek açıklayalım. Grafik çizen bir uygulama yaptığımızı düşünelim her şekil için ayrı sınıf kullanıyoruz. Kare, Diktörtgen, Üçgen, Çember vs vs. Resimi çizmek için aşağıdaki gibi bir [...]]]></description>
		<wfw:commentRss>http://code.internet.com.tr/composite-design-pattern/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

