<?xml version="1.0" encoding="UTF-8"?>
<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>GÜVEN ATBAKAN &#187; PHP</title>
	<atom:link href="http://www.guvenatbakan.net/kategoriler/web-tasarim-yazilim/yazilim/php-yazilim-web-tasarim-yazilim/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.guvenatbakan.net</link>
	<description>Lorem ipsum dolor sit amet.</description>
	<lastBuildDate>Sun, 05 Feb 2012 15:40:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>PHP ile basit SEF yapımı (URL Rewrite)</title>
		<link>http://www.guvenatbakan.net/2011/02/20/php-ile-basit-sef-yapimi-url-rewrite/</link>
		<comments>http://www.guvenatbakan.net/2011/02/20/php-ile-basit-sef-yapimi-url-rewrite/#comments</comments>
		<pubDate>Sat, 19 Feb 2011 23:29:00 +0000</pubDate>
		<dc:creator>Güven Atbakan</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[arama motoru dostu bağlantılar]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[php sef]]></category>
		<category><![CDATA[php seo yapımı]]></category>
		<category><![CDATA[search engine friendly]]></category>
		<category><![CDATA[sef]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[url rewrite php]]></category>
		<category><![CDATA[URL Rewriting]]></category>
		<category><![CDATA[URL Rewriting php]]></category>

		<guid isPermaLink="false">http://www.guvenatbakan.net/?p=855</guid>
		<description><![CDATA[Apache bizlere SEF konusunda çok büyük bir nimet sağlıyor. Bunun adı .htaccess   Bu dosya içerisine çeşitli kurallar yazıyorsunuz ve o kurallara göre arama motoru dostu bağlantıları kullanabiliyorsunuz. Ancak bu kural yazma işi can sıkıcı olabiliyor. Zira RegExp (Regular Expression &#8211; Koşullu  [...]]]></description>
			<content:encoded><![CDATA[<p>Apache bizlere SEF konusunda çok büyük bir nimet sağlıyor. Bunun adı .htaccess <img src='http://www.guvenatbakan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Bu dosya içerisine çeşitli kurallar yazıyorsunuz ve o kurallara göre arama motoru dostu bağlantıları kullanabiliyorsunuz. Ancak bu kural yazma işi can sıkıcı olabiliyor. Zira RegExp (Regular Expression &#8211; Koşullu ifadeler) bilmeniz gerekmekte. Ve bazen baya uğraştırıcı olabiliyor. Ben bu konuda daha farklı bir yöntem kullanıyorum. Belki performans açısından direkt olarak kural yazmaya göre daha kötü olabilir ama çok çok büyük bir projede çalışmıyorsanız çok fazla etkileyeceğini düşünmüyorum.</p>
<p>Öncelikle nasıl bir sistem kullandığımdan bahsedeyim, sonrasında bir kaç kod ile örnek göstereyim. Yazının sonunda ise çok basit bir örnek sistemi indirebilirsiniz. <span id="more-855"></span></p>
<p>Linkimizin http://site.com/haberdetay/basligin-sef-hali/432 olduğunu varsayalım. Buradaki &#8220;haberdetay&#8221; bizim modül(controller) sayfamız oluyor. &#8220;basligin-sef-hali&#8221; anladığınız üzere haber başlığının özel karakterlerden arındırılarak urlye yerleştirilmiş hali oluyor. 432 ise haberin eşsiz idsi oluyor.</p>
<p>Şimdi neler yapacağız? Öncelikle haberdetay modülünü çağıracağız, bu modül dosyası içinde id&#8217;yi göstereceğiz ve ona göre işlemler yaptıracağız. Asıl işin canalıcı kısmı bu modül ismini ve idyi nasıl aldığımız. İşte burada .htaccessten yararlanıyoruz.</p>
<pre class="brush: plain; title: ; notranslate">
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</pre>
<p>Bu dosyada yaptığımız işlem şu. URL&#8217;yi al, siteadi.com/ dan sonraki herşeyi index.php dosyasına $url olarak gönder. Yani biz http://site.com/haberdetay/basligin-sef-hali/432 linkine gittiğimizde aslında http://site.com/index.php?url=/haberdetay/basligin-sef-hali/432 çalışıyor. Yapacağımız şey çok basit.</p>
<p>index.php dosyasına şöyle bir değişken yazıyoruz.</p>
<pre class="brush: php; title: ; notranslate">

 $url = explode(&quot;/&quot;, $_GET['url']);
</pre>
<p>Bu değişken  /haberdetay/basligin-sef-hali/432 linkini bizim için parçalara ayırıyor. Son durumda $url değişkeninin değeri şu şekilde oluyor:</p>
<p>$url[0] = &#8220;haberdetay&#8221; | Modülümüzün adı<br />
$url[1] = &#8220;basligin-sef-hali&#8221; | SEF Başlığımız<br />
$url[2] = &#8220;432&#8243; | Haber ID</p>
<p>Artık index.php içinde modül dosyamızı çağırmaya geçebiliriz.</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php

 	$url = explode(&quot;/&quot;, htmlspecialchars( strtolower( $_GET['url'] ) ) );

	if ($url[0] == &quot;&quot; )
	{
		$url[0] = &quot;anasayfa&quot;;
	}

include(&quot;header.php&quot;); //klasik olarak header yüklüyoruz.

if (file_exists(&quot;modul/&quot;.$url[0].&quot;.php&quot;))  //Eğer modül dosyamız varsa çağırıyoruz. Yoksa hiç bir işlem yapmayacak.
{
	include(&quot;modul/&quot;.$url[0].&quot;.php&quot;); // modül klasöründeki modülümüzü çağırdık.
	//Yani şöyle oldu: include(modul/haberdetay.php);
}

include(&quot;footer.php&quot;); //klasik olarak footer dosyamızı yüklüyoruz

?&gt;
</pre>
<p>İşte index.php dosyamız bundan ibaret. (Kodlar ile açıklamalar yorum satırı olarak mevcut.) Şimdi modul/haberdetay.php dosyasına geçip ve orada istediğimiz işlemi yapabilirsiniz. Haberdetay.php sayfasında id kullanmamız gerektiğinde $url[2] değişkenimiz bizim ID değerimiz oluyor. Veya linkteki herhangi bir sırayı da çağırabiliriz.</p>
<p>Ancak url değişkenini alırken gerekli güvenlik kontrollerini yapmayı unutmayın. Bunun yanı sıra modül dosyalarıyla birlikte Smarty ve benzeri bir tema motoru kullanmanız yararınıza olacaktır. Şahsen ben o şekilde kullanıyorum <img src='http://www.guvenatbakan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Umarım yararlı bir yazı olmuştur, sormak istediklerinizi yorum bölümünü kullanarak sorabilirsiniz.</p>
<h2><a href="http://www.guvenatbakan.net/wp-content/uploads/sefornek.tar.gz">PHP SEF Örnek Siteyi İndirmek İçin Tıklayın</a></h2>
]]></content:encoded>
			<wfw:commentRss>http://www.guvenatbakan.net/2011/02/20/php-ile-basit-sef-yapimi-url-rewrite/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Smarty ile çalışmak</title>
		<link>http://www.guvenatbakan.net/2010/09/21/smarty-ile-calismak/</link>
		<comments>http://www.guvenatbakan.net/2010/09/21/smarty-ile-calismak/#comments</comments>
		<pubDate>Tue, 21 Sep 2010 20:37:05 +0000</pubDate>
		<dc:creator>Güven Atbakan</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[smarty]]></category>
		<category><![CDATA[smarty gerekli mi]]></category>
		<category><![CDATA[smarty ile tema yapımı]]></category>
		<category><![CDATA[smarty neden gerekli]]></category>
		<category><![CDATA[smarty nedir]]></category>
		<category><![CDATA[smarty template]]></category>
		<category><![CDATA[smartynin katkıları]]></category>
		<category><![CDATA[smartynin yararları]]></category>
		<category><![CDATA[smartynin zararları]]></category>

		<guid isPermaLink="false">http://www.guvenatbakan.net/?p=703</guid>
		<description><![CDATA[Bu yazımda sizlere yaz tatilimde yani yaklaşık 2 haftalık bir sürede kullandığım Smarty&#8217;nin olumlu yanlarından bahsetmek istiyorum. Aslında yazı başlığını bir framework ile çalışmak olarak da değiştirebiliriz.
Öncelikle Smarty&#8217;nin ne olduğundan biraz bahsedeyim. Smarty, gayet esnek bir template  [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.guvenatbakan.net/wp-content/uploads/smarty-logo-orange.gif"><img class="alignleft size-full wp-image-705" title="smarty-logo-orange" src="http://www.guvenatbakan.net/wp-content/uploads/smarty-logo-orange.gif" alt="" width="250" height="64" /></a>Bu yazımda sizlere yaz tatilimde yani yaklaşık 2 haftalık bir sürede kullandığım Smarty&#8217;nin olumlu yanlarından bahsetmek istiyorum. Aslında yazı başlığını bir framework ile çalışmak olarak da değiştirebiliriz.</p>
<p>Öncelikle Smarty&#8217;nin ne olduğundan biraz bahsedeyim. Smarty, gayet esnek bir template çatısıdır. PHP kodları ile html kodlarını birbirinden ayırır. Tabii ki bu ayırma işlemi &#8220;photoshoptan tasarımı htmle dökeyim smartye atayım site canavar gibi çalışsın&#8221; şeklinde değil. PHP kodlarınızı oluşturduktan sonra elde ettiğiniz değerleri Smartye gönderiyorsunuz. Html kodları içine PHP kodları değil de Smartye gönderilmiş bu değerlerin Smarty dilinde htmlin içine yazıyorsunuz. <span id="more-703"></span></p>
<p>Heey! Smarty dili dediysek &#8220;işimiz gücümüz yok yeni bir dil mi öğreneceğiz yahu&#8221; diyerekten korkmayın hemen. Herşey çok basit. Bir dökümantasyonu var ki bir kere gözden geçirdiğinizde dilin tüm yapısını öğrenebilirsiniz hemen. Bak yine dil dedim <img src='http://www.guvenatbakan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Yok öyle birşey. Bir başkasının hazırladığı bir sınıf kullandığınızda yine o sınıfın nasıl kullanıldığını öğrenmeniz gerekiyor. Forumlarda göreceğiniz Smarty dili denen o şey bir sınıfın kullanılışından başka birşey değil bence. Dezavantajı çook gelişmiş olması. Peki avantajı nedir derseniz tasarımcınızın yazılım dili bilmesine gerek yok. Siz Smartye değerleri gönderirsiniz o da onları yazdırır bu kadar basit <img src='http://www.guvenatbakan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Ne gereği var diyebilirsiniz belki. Öncelikle ne gereği olduğuna sizin karar vermeniz gerekiyor. Hemen geçtiğimiz iki haftada yaşadığım tecrübelerime başvurayım ve sizlere aktarayım.</p>
<p>Her siteye uyabilecek dinamik bir yönetim paneli yaptım. E tabi bunun için dinamik bir önyüz yapmak gerekiyordu. Smartyi daha duymuştum hemen incelemeye aldım. Başta ceviz.net forumlarını kurcaladım. Daha sonra blog yazıları takip ettim, ingilizce incelemeler okudum. Burada İngilizceninde önemine dikkat çekiyorum <img src='http://www.guvenatbakan.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  Ardından Smartyi bir denemeye karar verdim. Başlarda biraz zorlandım. Ama bu zorlanma çok uzun sürmedi <img src='http://www.guvenatbakan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Html&#8217;i verilmiş bir önyüzün Php kodlamaları ve smarty entegrasyonu 5 günde bitti. Bu zamanın bir çoğunu ince ayarlara ve php kodlamasına harcadım. Bir sonraki site kaç günde bitti dersiniz? 1 gün <img src='http://www.guvenatbakan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Normal php+html kodlama yapsaydım kaç günde biterdi? Tahminen yine 1 günde <img src='http://www.guvenatbakan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Ama olay ne kadar sürede bitirildiğinde değil aslında çok fazla. Biraz daha temiz kod yazmayla ilgili. Ben kendimi biliyorum, eğer sadece php+html yazsaydım php kodlarımın içinde echo ile html kodları verecektim <img src='http://www.guvenatbakan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Buda okunurluğu zorlaştırıcaktı. Bu şekilde gerçekten daha iyi iş yaptığımı hissettim, belki de o kadar kullandım bi işe yaramamış olamaz psikolojisiyle söylüyorum bunu, bilmiyorum <img src='http://www.guvenatbakan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Sanırsam Smarty&#8217;nin gerekliliğinden daha çok MVC yapısının gerekliliğine fazlasıyla inanmaya başladım.</p>
<p>Bu yazıyı yazarken bir yandan internette geziniyorum, bir yandan arkadaşlarımla sohbet ediyorum bir yandan da yatıyorum <img src='http://www.guvenatbakan.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Dolayısıyla yazım yanlışları yapmış olabilirim. Konuyu çok iyi bağlayamamış olabilirim, sizlere çok iyi aktaramamış olabilirim. Bu yazının kötü olabilitesinden dolayı sizlerden özür diliyorum. (Aman ha sanki diğerleri çok iyiydi filan demeyin <img src='http://www.guvenatbakan.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> )</p>
<p>Smarty ile ilgili son söyleyeceğim şey; çok fazla söylenenlere aldırmayın en azından bir deneyin. Çok fazla bir kaybınız kesinlikle olmaz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.guvenatbakan.net/2010/09/21/smarty-ile-calismak/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

