<?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>delifisek.net</title>
	<atom:link href="http://www.delifisek.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.delifisek.net</link>
	<description>Web Programlama</description>
	<lastBuildDate>Sun, 29 Jan 2012 13:45:41 +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>Birden Fazla Sayfa ile Çalışmak</title>
		<link>http://www.delifisek.net/php/birden-fazla-sayfa-ile-calismak.html</link>
		<comments>http://www.delifisek.net/php/birden-fazla-sayfa-ile-calismak.html#comments</comments>
		<pubDate>Sun, 29 Jan 2012 13:44:34 +0000</pubDate>
		<dc:creator>Sancar Saran</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[Web Programlama]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[içerik yönetim sistemi]]></category>
		<category><![CDATA[iys]]></category>

		<guid isPermaLink="false">http://www.delifisek.net/?p=402</guid>
		<description><![CDATA[Merhaba, bu yazımızda, daha önceki Hazır Template Dosyaları ile Çalışmak yazımızdaki sistemi birden fazla sayfayı gösterecek şekilde geliştireceğiz. Bir önceki yazımızda, sistemimizin tek noktadan cevaplama modelini kullanacağımızı belirtmiştik. Basit olarak, bu model siteye gelen tüm isteklerin index.php üzerinden işlenmesi prensibine dayanır. Bu sayede gelen tüm istekleri tek noktadan inceleyebilir, gerekli gördüğümüz işlemleri tek noktadan tetikleyebiliriz. Aynı [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.delifisek.net/wp-content/uploads/2012/01/multiple_pages.jpg" class="liimagelink"><img class="alignright size-thumbnail wp-image-356" title="multiple_pages" src="http://www.delifisek.net/wp-content/uploads/2012/01/multiple_pages-150x150.jpg" alt="" width="150" height="150" /></a>Merhaba, bu yazımızda, daha önceki <a href="http://www.delifisek.net/php/hazir-template-dosyalari-ile-calismak.html" title="Hazır Template Dosyaları ile Çalışmak" target="_blank" class="liinternal">Hazır Template Dosyaları ile Çalışmak</a> yazımızdaki sistemi birden fazla sayfayı gösterecek şekilde geliştireceğiz. Bir önceki yazımızda, sistemimizin tek noktadan cevaplama modelini kullanacağımızı belirtmiştik. Basit olarak, bu model siteye gelen tüm isteklerin index.php üzerinden işlenmesi prensibine dayanır. Bu sayede gelen tüm istekleri tek noktadan inceleyebilir, gerekli gördüğümüz işlemleri tek noktadan tetikleyebiliriz. Aynı zamanda sitemizde yapacağımız değişiklikleri tek noktadan yapmamız mümkün olacaktır.</p>
<p>Bu modelde, sayfalar, sanal olup, hepsi index.php tarafından oluşturulacaktır.</p>
<p>&nbsp;</p>
<h3>İstenilen Sayfayı Tesbit Etmek</h3>
<p>Eğer çok noktadan cevaplama modelini kullansaydık işlemi web server yüklenecek, var olan sayfaları gösterecek bulamadıkları içinde 404 kodu ile sayfa bulunamamıştır cevabı döndürecekti. Kısaca bu işlemi yapmamız gerekmeyecekti. Ancak biz sitemizin daha kolay bakım ve güncelleme imkanına sahip olmasını istediğimiz için tek noktadan cevapmama modelini tercih ettik bu yüzden sayfalarımız sanal olduğuna göre, öncelikli işimiz, ziyaretçimizin hangi sayfayı istediğini bulmak olacaktır. Ziyaretçinin istediği sayfayı tespit etmek için adı önceden belirlenmiş bir değişken kullanacağız.</p>
<p>&nbsp;</p>
<div id="wpshdo_1" class="wp-synhighlighter-outer"><div id="wpshdt_1" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_1"></a><a id="wpshat_1" class="wp-synhighlighter-title" href="#codesyntax_1"  onClick="javascript:wpsh_toggleBlock(1)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_1" onClick="javascript:wpsh_code(1)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_1" onClick="javascript:wpsh_print(1)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_1" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
<span class="co1">//--- Sayfa isteğini kontrol et</span>
<span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$_GET</span><span class="br0">&#91;</span><span class="st_h">'sayfa'</span><span class="br0">&#93;</span><span class="br0">&#41;</span> and <span class="sy0">!</span><a href="http://www.php.net/empty"><span class="kw3">empty</span></a><span class="br0">&#40;</span><span class="re0">$_GET</span><span class="br0">&#91;</span><span class="st_h">'sayfa'</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="re0">$istenen_sayfa</span> <span class="sy0">=</span> <span class="re0">$_GET</span><span class="br0">&#91;</span><span class="st_h">'sayfa'</span><span class="br0">&#93;</span><span class="sy0">;</span>
<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span>
    <span class="re0">$istenen_sayfa</span> <span class="sy0">=</span><span class="st_h">'index'</span><span class="sy0">;</span>
<span class="br0">&#125;</span>
<span class="sy1">?&gt;</span></pre></div></div>
<p>&nbsp;</p>
<p>Yukarıda yazmış olduğumuz kodla, ziyaretçimiz den gelen bir sayfa isteği olup olmadığını kontrol ettik ve eğer bir sayfa isteği yoksa sayfamızın index sayfası olduğunu belirttik. Şimdi yapmamız gereken, istenen sayfanın sitemizde bulunup bulunmadığını kontrol etmek. Bu işlemi gerçekleştirmemiz için öncelikle sayfaları sitemizde nasıl saklayacağımıza karar vermeliyiz. Bu iş için genelde SQL sunucular kullanılsa da, biz direkt olarak PHP bazlı bir model kullanacağız. Bu model hem çok daha basit hemde çok daha hızlıdır.</p>
<p>ilk aşamada yapmamız gereken, sahip olduğumuz sayfaları ve bu sayfaların içerdiği bilgilerin saklandığı dosyaların adlarını kaydedeceğimiz bir php dizin dosyası oluşturmak. Aynen daha önce kullandığımız ana_ayar.php dosyasına benzer bir yapı oluşturarak sayfalar.php adı altında kaydedelim. Örnek için şimdilik 3 tane sayfa tanımlayacağım siz dilediğiniz kadar sayfa tanımlayabilirsiniz.</p>
<p>sayfalar.php</p>
<p>&nbsp;</p>
<div id="wpshdo_2" class="wp-synhighlighter-outer"><div id="wpshdt_2" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_2"></a><a id="wpshat_2" class="wp-synhighlighter-title" href="#codesyntax_2"  onClick="javascript:wpsh_toggleBlock(2)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_2" onClick="javascript:wpsh_code(2)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_2" onClick="javascript:wpsh_print(2)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_2" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
<span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'sayfalar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'index'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'anahtar'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">'index'</span><span class="sy0">;</span>
<span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'sayfalar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'index'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'menu_etiketi'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">'Ana Sayfa'</span><span class="sy0">;</span>
<span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'sayfalar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'index'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'dosya_yolu'</span><span class="br0">&#93;</span> <span class="sy0">=</span> MADIZ<span class="sy0">.</span><span class="st_h">'sayfa_index.php'</span><span class="sy0">;</span>
&nbsp;
<span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'sayfalar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'hakkimizda'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'anahtar'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">'hakkimizda'</span><span class="sy0">;</span>
<span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'sayfalar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'hakkimizda'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'menu_etiketi'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">'Hakkımızda'</span><span class="sy0">;</span>
<span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'sayfalar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'hakkimizda'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'dosya_yolu'</span><span class="br0">&#93;</span> <span class="sy0">=</span> MADIZ<span class="sy0">.</span><span class="st_h">'sayfa_hakkimizda.php'</span><span class="sy0">;</span>
&nbsp;
<span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'sayfalar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'iletisim'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'anahtar'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">'iletisim'</span><span class="sy0">;</span>
<span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'sayfalar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'iletisim'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'menu_etiketi'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">'İletişim'</span><span class="sy0">;</span>
<span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'sayfalar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'iletisim'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'dosya_yolu'</span><span class="br0">&#93;</span> <span class="sy0">=</span> MADIZ<span class="sy0">.</span><span class="st_h">'sayfa_iletisim.php'</span><span class="sy0">;</span>
<span class="sy1">?&gt;</span></pre></div></div>
<p>&nbsp;</p>
<p>Oluşturduğumuz dosyayı /mevcut/ayarlar/sayfalar.php olarak kaydedip, index.php içinden include ettiğimiz zaman sitemizdeki mevcut sayfaların bilgisine anında sahip olacağımız için ziyaretçinin çağırdığı sayfanın sitede bulunup bulunmadığını kontrol etmek oldukça kolaylaşacaktır.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div id="wpshdo_3" class="wp-synhighlighter-outer"><div id="wpshdt_3" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_3"></a><a id="wpshat_3" class="wp-synhighlighter-title" href="#codesyntax_3"  onClick="javascript:wpsh_toggleBlock(3)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_3" onClick="javascript:wpsh_code(3)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_3" onClick="javascript:wpsh_print(3)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_3" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
&nbsp;
<span class="co1">//--- varsayılan olarak hata dosyasını setle, (önceden setlersen sonradan hatayı tekrar tesbit etmekten kurtlursun)</span>
&nbsp;
<span class="re0">$sayfa_dosyasi</span> <span class="sy0">=</span> MADIZ<span class="sy0">.</span><span class="st_h">'sayfalar_404.php'</span><span class="sy0">;</span>
&nbsp;
<span class="co1">//--- İstenen sayfanın olup olmadığını kontrol et</span>
<span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.php.net/isset"><span class="kw3">isset</span></a><span class="br0">&#40;</span><span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'sayfalar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re0">$istenen_sayfa</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="co1">//--- sayfa kayıtlı ise, istenilen sayfanın veri dosyasını var ise çağır</span>
    <span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.php.net/is_file"><span class="kw3">is_file</span></a><span class="br0">&#40;</span><span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'sayfalar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re0">$istenen_sayfa</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'dosya_yolu'</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <span class="re0">$sayfa_dosyasi</span> <span class="sy0">=</span> <span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'sayfalar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re0">$istenen_sayfa</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'dosya_yolu'</span><span class="br0">&#93;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span>
<span class="sy1">?&gt;</span></pre></div></div>
<p>&nbsp;</p>
<p>Daha sonra $sayfa_dosyasi değişkenine sakladığımız dosya yolunu, index.php içine eklediğimiz zaman çağrılan sayfanın içeriğini saklayan php dosyasına erişmiş olacağız. Peki bu dosyanın içinde ne olacak diye soracaksanız cevabı basit, <a href="http://www.delifisek.net/php/hazir-template-dosyalari-ile-calismak.html" title="Hazır Template Dosyaları ile Çalışmak" target="_blank" class="liinternal">Hazır Template Dosyaları ile Çalışmak</a> makalemizde, sayfa içeriğini kaydettiğmiz $sayfa değişkeni, index.php dosyasından bu dosyalara kaymış olacak, daha sonra siz arzu etitğiniz içeriğe göre bu değişkenin içini dolduracaksınız.</p>
<p>&nbsp;</p>
<p>Bu aşamadan sonra, geriye bir işlem daha kalıyor, sitemizde bulunan sayfaları, ziyaretçilerimize bildirmemiz ve tek tıkla ulaşabilir hale getirmemiz gerekmekte. Bunu bir dolaşma menüsü ile sağlayabiliriz. Kullanmış olduğumuz template dosyasının üst kısmında statik olarak tanımlanmış bir menü var. Şimdi elimizde sayfa listesi olduğuna göre bu menüyü dinamik olarak oluşturabiliriz.</p>
<p>&nbsp;</p>
<div id="wpshdo_4" class="wp-synhighlighter-outer"><div id="wpshdt_4" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_4"></a><a id="wpshat_4" class="wp-synhighlighter-title" href="#codesyntax_4"  onClick="javascript:wpsh_toggleBlock(4)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_4" onClick="javascript:wpsh_code(4)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_4" onClick="javascript:wpsh_print(4)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_4" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
&nbsp;
<span class="co1">//--- Site Dolaşım Menüsü</span>
<span class="re0">$site_menu</span> <span class="sy0">=</span> <span class="st_h">''</span><span class="sy0">;</span>
<span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'sayfalar'</span><span class="br0">&#93;</span> <span class="kw1">as</span> <span class="re0">$sayfa_menu</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="re0">$secili_sayfa</span> <span class="sy0">=</span> <span class="st_h">''</span><span class="sy0">;</span>
    <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$sayfa_menu</span><span class="br0">&#91;</span><span class="st_h">'anahtar'</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="re0">$istenen_sayfa</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <span class="re0">$secili_sayfa</span> <span class="sy0">=</span> <span class="st0">&quot; class='current'&quot;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
    <span class="re0">$site_menu</span> <span class="sy0">=</span> <span class="st0">&quot;&lt;li &quot;</span><span class="sy0">.</span><span class="re0">$secili_sayfa</span><span class="sy0">.</span><span class="st0">&quot;&gt;&lt;a href='index.php?sayfa=&quot;</span><span class="sy0">.</span><span class="re0">$sayfa_menu</span><span class="br0">&#91;</span><span class="st_h">'anahtar'</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&quot;'&gt;&quot;</span><span class="sy0">.</span><span class="re0">$sayfa_menu</span><span class="br0">&#91;</span><span class="st_h">'menu_etiketi'</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&quot;&lt;/a&gt;&lt;/li&gt;<span class="es1">\n</span>&quot;</span><span class="sy0">;</span>
<span class="br0">&#125;</span>
<span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'site_menu'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$site_menu</span><span class="sy0">;</span>
&nbsp;
<span class="sy1">?&gt;</span></pre></div></div>
<p>&nbsp;</p>
<p>Daha sonra  $GLOBALS['ym']['site_menu'] değişkenini tema.php içinde ki yerine</p>
<p>&nbsp;</p>
<div id="wpshdo_5" class="wp-synhighlighter-outer"><div id="wpshdt_5" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_5"></a><a id="wpshat_5" class="wp-synhighlighter-title" href="#codesyntax_5"  onClick="javascript:wpsh_toggleBlock(5)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_5" onClick="javascript:wpsh_code(5)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_5" onClick="javascript:wpsh_print(5)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_5" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
&nbsp;
<span class="sy0">&lt;</span>ul id<span class="sy0">=</span><span class="st_h">'menu'</span><span class="sy0">&gt;</span>
    <span class="sy0">&lt;</span>li <span class="kw2">class</span><span class="sy0">=</span><span class="st_h">'current'</span><span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st_h">'#'</span><span class="sy0">&gt;</span>Home<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span>
    <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st_h">'#'</span><span class="sy0">&gt;</span>News<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span>
    <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st_h">'#'</span><span class="sy0">&gt;</span>Work<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span>
    <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st_h">'#'</span><span class="sy0">&gt;</span>Services<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span>
    <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st_h">'#'</span><span class="sy0">&gt;</span>About<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span>
    <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st_h">'#'</span><span class="sy0">&gt;</span>Contact<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span>
<span class="sy0">&lt;/</span>ul<span class="sy0">&gt;</span>
&nbsp;
<span class="sy1">?&gt;</span></pre></div></div>
<p>yerleştiriyoruz</p>
<p>&nbsp;</p>
<div id="wpshdo_6" class="wp-synhighlighter-outer"><div id="wpshdt_6" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_6"></a><a id="wpshat_6" class="wp-synhighlighter-title" href="#codesyntax_6"  onClick="javascript:wpsh_toggleBlock(6)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_6" onClick="javascript:wpsh_code(6)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_6" onClick="javascript:wpsh_print(6)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_6" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
&nbsp;
<span class="sy0">&lt;</span>ul id<span class="sy0">=</span><span class="st_h">'menu'</span><span class="sy0">&gt;</span>
    <span class="kw2">&lt;?php</span> <span class="kw1">echo</span> <span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'site_menu'</span><span class="br0">&#93;</span><span class="sy0">;</span> <span class="sy1">?&gt;</span>
&lt;/ul&gt;
&nbsp;
?&gt;</pre></div></div>
<p>&nbsp;</p>
<p>Böylce, basit içerik yönetim sistemimiz tamamlanmış oldu. Elbette henüz tam olarak kullanılabilir durumda değil. Yinede size bir sonraki makaleye kadar üzerinde oynayacak bir ortam sağlayacaktır.</p>
<p>&nbsp;</p>
<p>Ekteki dosyada, bu yazıda kullandığımız örnekleri, dosyaları bulabilirsiniz.</p>
<p>&nbsp;</p>
<p><a href="http://www.delifisek.net/wp-content/uploads/2012/01/php_çalışma.29.01.2012.rar" class="lizip">php_çalışma.29.01.2012</a></p>
<p>&nbsp;</p>
<p><a href="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" class="liimagelink"><img class="aligncenter size-full wp-image-87" title="tescil-turktrust-damgasi" src="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" alt="" width="523" height="36" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.delifisek.net/php/birden-fazla-sayfa-ile-calismak.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sunucuya Gelen İstekleri Karşılamak</title>
		<link>http://www.delifisek.net/php/sunucuya-gelen-istekleri-karsilamak.html</link>
		<comments>http://www.delifisek.net/php/sunucuya-gelen-istekleri-karsilamak.html#comments</comments>
		<pubDate>Sun, 29 Jan 2012 11:40:09 +0000</pubDate>
		<dc:creator>Sancar Saran</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[Web Programlama]]></category>
		<category><![CDATA[$_COOKIES]]></category>
		<category><![CDATA[$_GET]]></category>
		<category><![CDATA[$_POST]]></category>
		<category><![CDATA[$_REQUEST]]></category>

		<guid isPermaLink="false">http://www.delifisek.net/?p=355</guid>
		<description><![CDATA[Merhaba, bu yazımda, sunucumuza gelen istekleri yanıtlama konusunda bilgiler vermeye çalışacağım.  Temel olarak web programcılığında yaptığımız iş, ziyaretçilerden gelen bilgileri bir potada eriterek, kurmuş olduğumuz yapı vasıtası ile içerik üretmektir. Bunu yapabilmek için öncelikle ziyaretçimizin ne istediğini bilmemiz gerekir. HTTP protokolünde, tarayıcılar, GET ve POST metotları ile sunuculara veri gönderirler, bunun yanı sıra, eğer programcı [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.delifisek.net/wp-content/uploads/2012/01/multiple_response.jpg" class="liimagelink"><img class="alignright size-thumbnail wp-image-363" title="multiple_response" src="http://www.delifisek.net/wp-content/uploads/2012/01/multiple_response-150x150.jpg" alt="" width="150" height="150" /></a>Merhaba, bu yazımda, sunucumuza gelen istekleri yanıtlama konusunda bilgiler vermeye çalışacağım.  Temel olarak web programcılığında yaptığımız iş, ziyaretçilerden gelen bilgileri bir potada eriterek, kurmuş olduğumuz yapı vasıtası ile içerik üretmektir. Bunu yapabilmek için öncelikle ziyaretçimizin ne istediğini bilmemiz gerekir. HTTP protokolünde, tarayıcılar, GET ve POST metotları ile sunuculara veri gönderirler, bunun yanı sıra, eğer programcı isterse birtakım bilgileri COOKIE vasıtası ile tarayıcı içinde saklayabilir ve bunları ilerde tekrar kullanabilir. Ayrıca akıldan çıkarılmaması gereken bir husus daha vardır ki HTTP protokolü durumsuz (stateless) bir protokoldür. Ve eğer programcı tarafından önlem alınmamışsa, her istek yeni doğmuştur, yani bir önceki istekte gönderilmiş olan değerleri hatırlamaz. Örneğin, farz edelim sitenizde,  site araka plan rengini değiştiren bir seçenek olsun, siz eğer bu seçeneği, bir yerde saklayıp daha sonra tekrar kontrol edip işlemezseniz, seçeneği yaptıktan sonra ki ilk işlemde site arka plan rengi yine eski haline dönecektir.</p>
<p>PHP dilinde ziyaretçi isteklerini algılayıp işlemek için dil içinde hazır olarak bulunan süper global değişkenler bulunmaktadır. Bunlar</p>
<ul>
<li>$_GET</li>
<li>$_POST</li>
<li>$_REQUEST</li>
<li>$_COOKIE</li>
<li>$_FILES</li>
</ul>
<p>&nbsp;</p>
<div>PHP programlarken, ziyaretçi isteklerini daha çok $_GET ve $_POST dizilerinden alacağız. $_REQUEST PHP dilinin tasarımcıları tarafından, $_GET, $_POST, $_COOKIE ve $_FILES dizinlerini kapsayan bir dizi olarak tasarlanmıştır. İlerleyen zamanlarda $_FILES, $_REQUEST içinden çıkartılmış. PHP 5.3.0 itibari ilede $_REQUEST içindeki elemanların php.ini vasıtası ile belirlemek mümkün olmuştur. Biz örneklerimizi, $_GET ve $_POST üzerinden yapılandıracağımız için $_REQUEST değişkenini kullanmayacağız. Diğer değişkenlerden  olan $_COOKIE, tarayıcıda saklamak istediğiniz verileri tutarken, $_FILES, sunucuya dosya yükleme işlemleri esnasında gerekli olan bilgileri taşır.</div>
<p>&nbsp;</p>
<div>Bir önceki paragrafta $_GET ve $_POST değişkenlerini kullanacağımızdan bahsetmiştik, şimdi bunları biraz detaylandıralım. $_GET ve $_POST kullanımı, temelde ziyaretçinin sunucuya yaptığı istekle alakalıdır. Eğer ziyaretçi direkt olarak bir link çağırmışsa (www.hedehodo.com) bu bir get isteğidir. Eğer ziyaretçi bir form doldurup gönderiyorsa bu bir POST işlemidir. Basitçe GET işlemleri veri okuma, POST işlemleri de  veri yazma olarak tanımlama. Elbette GET metodu ile, gönderilen verileri yazabilir veya bir formu $_GET ile sunucuya gönderebiliriz.</div>
<p>&nbsp;</p>
<h3>Parametreleri sunucuya göndermek</h3>
<div>GET ve POST metodları ile gönderilen verilere PHP altından ulaşmak oldukça kolaydır, hatta diğer dillere göre çok daha kolaydır. Bu konuyu detaylandırmadan önce bu verilerin nasıl gönderildiği konusuna girmek istiyorum.</div>
<p>&nbsp;</p>
<div>GET modelinde veriler, URL üzerinden direkt olarak yazılarak girilir. Önce istek yapılacak site (www.hedehodo.com) sonra isteği cevaplandıracak program dosyası (index.php) yazılır. Daha sonra ? işareti ile URL nin devamında parametreler olduğu belirtilir. Parameteler bir birileri ile &amp; ayrılırlar.</div>
<p>&nbsp;</p>
<div><strong>http://www.hedehodo.com/index.php?araka_plan_rengi=kirmizi&amp;font_boyu=20</strong></div>
<p>&nbsp;</p>
<div>POST modelinde verileri bir html form içine ziyaretçi tarafından yazılır ve gönder (submit) tuşu ile sunucuya gönderilir.</div>
<div id="wpshdo_7" class="wp-synhighlighter-outer"><div id="wpshdt_7" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_7"></a><a id="wpshat_7" class="wp-synhighlighter-title" href="#codesyntax_7"  onClick="javascript:wpsh_toggleBlock(7)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_7" onClick="javascript:wpsh_code(7)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_7" onClick="javascript:wpsh_print(7)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_7" class="wp-synhighlighter-inner" style="display: block;"><pre class="html4strict" style="font-family:monospace;"><span class="sc2">&lt;<a href="http://december.com/html/4/element/form.html"><span class="kw2">form</span></a> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">'test'</span> <span class="kw3">action</span><span class="sy0">=</span><span class="st0">'index.php'</span> <span class="kw3">method</span><span class="sy0">=</span><span class="st0">'post'</span>&gt;</span>
Arka Plan Rengi: <span class="sc2">&lt;<a href="http://december.com/html/4/element/input.html"><span class="kw2">input</span></a> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text&quot;</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;arka_plan_rengi&quot;</span> <span class="sy0">/</span>&gt;&lt;<a href="http://december.com/html/4/element/br.html"><span class="kw2">br</span></a> <span class="sy0">/</span>&gt;</span>
Font Boyu: <span class="sc2">&lt;<a href="http://december.com/html/4/element/input.html"><span class="kw2">input</span></a> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text&quot;</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;font_boyu&quot;</span> <span class="sy0">/</span>&gt;&lt;<a href="http://december.com/html/4/element/br.html"><span class="kw2">br</span></a> <span class="sy0">/</span>&gt;</span>
<span class="sc2">&lt;<a href="http://december.com/html/4/element/input.html"><span class="kw2">input</span></a> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;submit&quot;</span> <span class="kw3">value</span><span class="sy0">=</span><span class="st0">&quot;Gönder&quot;</span> <span class="sy0">/</span>&gt;</span>
<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/form.html"><span class="kw2">form</span></a>&gt;</span></pre></div></div>
<h3>Parameterelere PHP içinden erişmek</h3>
<div>GET ve POST ile sunucuya gönderilen verilere PHP altından $_GET ve/veya $_POST üzerinden kolayca erişebiliriz. Yukarıdaki örneklerden devam edecek olursak</div>
<p>&nbsp;</p>
<h4>GET için kullanacağımız  yöntem</h4>
<p>&nbsp;</p>
<div><div id="wpshdo_8" class="wp-synhighlighter-outer"><div id="wpshdt_8" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_8"></a><a id="wpshat_8" class="wp-synhighlighter-title" href="#codesyntax_8"  onClick="javascript:wpsh_toggleBlock(8)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_8" onClick="javascript:wpsh_code(8)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_8" onClick="javascript:wpsh_print(8)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_8" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
<span class="re0">$arka_plan_rengi</span> <span class="sy0">=</span> <span class="re0">$_GET</span><span class="br0">&#91;</span><span class="st_h">'arka_plan_rengi'</span><span class="br0">&#93;</span><span class="sy0">;</span>
<span class="re0">$font_boyu</span> <span class="sy0">=</span> <span class="re0">$_GET</span><span class="br0">&#91;</span><span class="st_h">'font_boyu'</span><span class="br0">&#93;</span><span class="sy0">;</span>
<span class="sy1">?&gt;</span></pre></div></div></p>
<h4>POST için kullanacağımız  yöntem</h4>
<p>&nbsp;</p>
<div><div id="wpshdo_9" class="wp-synhighlighter-outer"><div id="wpshdt_9" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_9"></a><a id="wpshat_9" class="wp-synhighlighter-title" href="#codesyntax_9"  onClick="javascript:wpsh_toggleBlock(9)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_9" onClick="javascript:wpsh_code(9)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_9" onClick="javascript:wpsh_print(9)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_9" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
<span class="re0">$arka_plan_rengi</span> <span class="sy0">=</span> <span class="re0">$_POST</span><span class="br0">&#91;</span><span class="st_h">'arka_plan_rengi'</span><span class="br0">&#93;</span><span class="sy0">;</span>
<span class="re0">$font_boyu</span> <span class="sy0">=</span> <span class="re0">$_POST</span><span class="br0">&#91;</span><span class="st_h">'font_boyu'</span><span class="br0">&#93;</span><span class="sy0">;</span>
<span class="sy1">?&gt;</span></pre></div></div></p>
<p>&nbsp;</p>
<p>Özetle bir önceki sayfadan gönderilen veriler, yeni sayfaya geçme şeklimize göre $_GET veya $_POST dizini içinde olacaktır.</p>
<p>&nbsp;</p>
<h3>Cevaplandırıcılar</h3>
<p>Dinamik web siteleri, gelen ziyaretçi isteklerini karşılamak için, gelen istekleri inceleyip işleyecek cevaplayıcılara ihtiyaç duyarlar. Dinamik web sitelerinde iki temel cevaplayıcı modeli vardır,  çok noktadan ve tek noktadan cevaplama.</p>
<h4>Çok Noktadan Cevaplama</h4>
<p>Çok noktadan cevaplama modelinde, yapılacak işe göre oluşturulmuş / adlandırılmış cevaplandırıcılar sitenin uygun yerlerine yerleştirilerek (index.php, haberler.php, mail.php vb) ziyaretçinin istediği içerik bu cevaplandırıclar vasıtası ile oluşturulur. Sadece kendi ile alakalı işleri yapacağı için daha sade kod imkanı sunsa da, çok noktadan cevaplama modeli, site bazlı yapılacak değişikliklerde çok fazla işlem gerektirdiği için pek kullanılmamaktadır.</p>
<p>&nbsp;</p>
<h4>Tek Noktadan Cevaplama</h4>
<p>WordPress ve diğer birçok bilindik içerik yönetim sistemi tek noktadan cevaplama modelini kullanır, bu modelde, tüm istekler index.php ye gönderilir. Daha sonra gelen parametrelere göre istek yapılandırılarak içerik oluşturulur.</p>
<h4></h4>
<p>Bu ve bundan sonra ki yazılarımızda kullanacağımız basit içerik yönetim sistemimiz <strong>tek noktadan cevaplama</strong> modelini kullanacaktır.</p>
<p>&nbsp;</p>
<p><a href="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" class="liimagelink"><img class="aligncenter size-full wp-image-87" title="tescil-turktrust-damgasi" src="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" alt="" width="523" height="36" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.delifisek.net/php/sunucuya-gelen-istekleri-karsilamak.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hazır Template Dosyaları ile Çalışmak</title>
		<link>http://www.delifisek.net/php/hazir-template-dosyalari-ile-calismak.html</link>
		<comments>http://www.delifisek.net/php/hazir-template-dosyalari-ile-calismak.html#comments</comments>
		<pubDate>Sun, 15 Jan 2012 19:24:14 +0000</pubDate>
		<dc:creator>Sancar Saran</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[Web Programlama]]></category>
		<category><![CDATA[output_buffering]]></category>
		<category><![CDATA[php templates]]></category>
		<category><![CDATA[tema]]></category>

		<guid isPermaLink="false">http://www.delifisek.net/?p=315</guid>
		<description><![CDATA[Merhaba, bu makalemizle birlikte, aktif olarak sitemizi programlamaya başlayacağız. Yapacağımız çalışmaları kendi ihtiyaçlarınız için kullanırken daha kolay olması ve yapılan örneklerin göze daha hoş görünmesi için ortaya çıkaracağımız sistemi web de ücretsiz olarak bulabileceğimiz bir template bağladım. Kullandığım distinctive adlı template, http://www.solucija.com adresinden ücretsiz olarak indirilebilir. Dilerseniz aynı sitede bulunan bir başka template dosyasını da kullanabilirsiniz. &#160; Çektiğimiz [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.delifisek.net/wp-content/uploads/2012/01/distinctive.jpg" class="liimagelink"><img class="alignright size-thumbnail wp-image-316" title="distinctive" src="http://www.delifisek.net/wp-content/uploads/2012/01/distinctive-150x150.jpg" alt="" width="150" height="150" /></a>Merhaba, bu makalemizle birlikte, aktif olarak sitemizi programlamaya başlayacağız. Yapacağımız çalışmaları kendi ihtiyaçlarınız için kullanırken daha kolay olması ve yapılan örneklerin göze daha hoş görünmesi için ortaya çıkaracağımız sistemi web de ücretsiz olarak bulabileceğimiz bir template bağladım. Kullandığım <a href="http://www.solucija.com/template/distinctive" target="_blank" class="liexternal">distinctive</a> adlı template, <a href="http://www.solucija.com/" target="_blank" class="liexternal">http://www.solucija.com</a> adresinden ücretsiz olarak indirilebilir. Dilerseniz aynı sitede bulunan bir başka template dosyasını da kullanabilirsiniz.</p>
<p>&nbsp;</p>
<p>Çektiğimiz template dosyalarını kurmak oldukça basit. Web sunucumuzun ana dizinine, bir önceki yazımızda tanıtmaya çalıştığımız dizin yapısını oluşturduktan sonra , çekmiş olduğumuz template dosyalarını site/temalar/distinctive dizinine açıyoruz, daha sonra dizindeki index.html dosyasını, tema.php olarak yeniden adlandırıp kaydediyoruz. Tema üzerinde yapacağımız işlemlere daha sonra değineceğiz.</p>
<p>&nbsp;</p>
<p>Daha önceki yazılarımızda belirttiğimiz gibi, PHP ile programlanmış web siteleri (çalıştıran web sunucular daha farklı bir biçimde ayarlanmadıkları sürece), başlangıç olarak index.php dosyasını ararlar, dolayısı ile yazacağımız web sitesinde bir index.php dosyası şart olduğundan, PHP programcılığı için kullanacağımız text editörümüzü açıp, yeni bir dosya oluşturup, web sunucumuzun ana dizinine index.php olarak kaydediyoruz. Bu aşamadan sonra, daha önceki <a href="http://www.delifisek.net/php/birden-fazla-php-dosyasi-ile-calismak.html" title="Birden Fazla PHP Dosyası ile Çalışmak" target="_blank" class="liinternal">makalelerimizde</a> belirttiğimiz birden fazla dosya ile çalışmayı kolaylaştıran kodlarımızı ekleyip geliştiriyoruz.</p>
<p>&nbsp;</p>
<div id="wpshdo_10" class="wp-synhighlighter-outer"><div id="wpshdt_10" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_10"></a><a id="wpshat_10" class="wp-synhighlighter-title" href="#codesyntax_10"  onClick="javascript:wpsh_toggleBlock(10)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_10" onClick="javascript:wpsh_code(10)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_10" onClick="javascript:wpsh_print(10)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_10" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'DA'</span><span class="sy0">,</span><span class="kw4">DIRECTORY_SEPARATOR</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// DA -&gt; dizin ayracının kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'KDIZ'</span><span class="sy0">,</span><a href="http://www.php.net/dirname"><span class="kw3">dirname</span></a><span class="br0">&#40;</span><span class="kw4">__FILE__</span><span class="br0">&#41;</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// KDIZ -&gt; kök dizinin kısaltılmışı</span>
&nbsp;
<span class="co1">//--- Diğer Statik dizinler</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'MDIZ'</span><span class="sy0">,</span>KDIZ<span class="sy0">.</span><span class="st_h">'mevcut'</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// MDIZ -&gt; mevcut dizinin kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'MADIZ'</span><span class="sy0">,</span>MDIZ<span class="sy0">.</span><span class="st_h">'ayarlar'</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// MADIZ -&gt; mevcut/ayar dizinin kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'MODIZ'</span><span class="sy0">,</span>MDIZ<span class="sy0">.</span><span class="st_h">'onbellek'</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// MODIZ -&gt; mevcut/onbellek dizinin kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'ADIZ'</span><span class="sy0">,</span>KDIZ<span class="sy0">.</span><span class="st_h">'ana_kod'</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// ADIZ -&gt; ana_kod dizinin kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'ADDIZ'</span><span class="sy0">,</span>ADIZ<span class="sy0">.</span><span class="st_h">'dahili'</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// ADDIZ -&gt; ana_kod/dahili dizinin kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'AHDIZ'</span><span class="sy0">,</span>ADIZ<span class="sy0">.</span><span class="st_h">'harici'</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// AHDIZ -&gt; ana_kod/harici dizinin kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'SDIZ'</span><span class="sy0">,</span>KDIZ<span class="sy0">.</span><span class="st_h">'site'</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// SDIZ -&gt; site dizinin kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'TDIZ'</span><span class="sy0">,</span>SDIZ<span class="sy0">.</span><span class="st_h">'temalar'</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// TDIZ -&gt; tema dizinin kısaltılmışı</span>
<span class="sy1">?&gt;</span></pre></div></div></pre>
<p>&nbsp;</p>
<p>Bu aşamadan sonra, yapacağımız ilk iş, sitemize ait ayar dosyasınız index.php dosyasına bağlamaktır. Böylelikle sitemiz için kullanmak istediğimiz genel değişkenleri burada tanımlayabiliriz. Örneğimizde ayar dosyamızı, direkt olarak $GLOBALS üzerine kuracağım. $GLOBALS PHP içinde kullanılan özel bir dizi,  buraya kaydedilen elemanlar, kod içerisindeki tüm fonksiyon ve sınıflardan kolaylıkla çağrılabilir.</p>
<p>&nbsp;</p>
<p>/mevcut/ayarlar/ana_ayar.php</p>
<p>&nbsp;</p>
<div id="wpshdo_11" class="wp-synhighlighter-outer"><div id="wpshdt_11" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_11"></a><a id="wpshat_11" class="wp-synhighlighter-title" href="#codesyntax_11"  onClick="javascript:wpsh_toggleBlock(11)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_11" onClick="javascript:wpsh_code(11)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_11" onClick="javascript:wpsh_print(11)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_11" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
<span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'ayar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'site'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'ad'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">'Site Adı'</span><span class="sy0">;</span>
<span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'ayar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'site'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'slogan'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">'Site Slogan'</span><span class="sy0">;</span>
<span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'ayar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'tema'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">'distinctive'</span><span class="sy0">;</span>
&nbsp;
<span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'ayar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'karakter_kumesi'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">'utf-8'</span><span class="sy0">;</span>
<span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'ayar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'dil'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">'tr'</span><span class="sy0">;</span>
<span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'ayar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'dil-iso'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">'tr_TR'</span><span class="sy0">;</span>
&nbsp;
<span class="co1">//--- Diğer ayarları</span>
<span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'ayar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'tema-dosyasi'</span><span class="br0">&#93;</span> <span class="sy0">=</span> TDIZ<span class="sy0">.</span><span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'ayar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'tema'</span><span class="br0">&#93;</span><span class="sy0">.</span>DA<span class="sy0">.</span><span class="st_h">'tema.php'</span><span class="sy0">;</span>
<span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'ayar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'tema-url'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">'site/temalar/'</span><span class="sy0">.</span><span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'ayar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'tema'</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st_h">'/'</span><span class="sy0">;</span>
<span class="sy1">?&gt;</span></pre></div></div>
<p>&nbsp;</p>
<p>Ayarlarımızı $GLOBALS üzerinde kaydederken, öncelikle ['ym'] alt dizi si ile işaretliyorum, böylece olası bir değişken çakışmasının da önüne geçiyorum. Alt dizi adı için kullandığım ym, yerli mali tanımlamasının kısaltılmışı. Kısaca, bundan böyle kodlarımızda, $GLOBALS erişimi yaparken öncelikle ['ym'] ald dizini kullanacağız.</p>
<p>index.php</p>
<p>&nbsp;</p>
<div id="wpshdo_12" class="wp-synhighlighter-outer"><div id="wpshdt_12" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_12"></a><a id="wpshat_12" class="wp-synhighlighter-title" href="#codesyntax_12"  onClick="javascript:wpsh_toggleBlock(12)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_12" onClick="javascript:wpsh_code(12)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_12" onClick="javascript:wpsh_print(12)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_12" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
&nbsp;
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'DA'</span><span class="sy0">,</span><span class="kw4">DIRECTORY_SEPARATOR</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// DA -&gt; dizin ayracının kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'KDIZ'</span><span class="sy0">,</span><a href="http://www.php.net/dirname"><span class="kw3">dirname</span></a><span class="br0">&#40;</span><span class="kw4">__FILE__</span><span class="br0">&#41;</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// KDIZ -&gt; kök dizinin kısaltılmışı</span>
&nbsp;
<span class="co1">//--- Diğer Statik dizinler</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'MDIZ'</span><span class="sy0">,</span>KDIZ<span class="sy0">.</span><span class="st_h">'mevcut'</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// MDIZ -&gt; mevcut dizinin kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'MADIZ'</span><span class="sy0">,</span>MDIZ<span class="sy0">.</span><span class="st_h">'ayarlar'</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// MADIZ -&gt; mevcut/ayar dizinin kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'MODIZ'</span><span class="sy0">,</span>MDIZ<span class="sy0">.</span><span class="st_h">'onbellek'</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// MODIZ -&gt; mevcut/onbellek dizinin kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'ADIZ'</span><span class="sy0">,</span>KDIZ<span class="sy0">.</span><span class="st_h">'ana_kod'</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// ADIZ -&gt; ana_kod dizinin kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'ADDIZ'</span><span class="sy0">,</span>ADIZ<span class="sy0">.</span><span class="st_h">'dahili'</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// ADDIZ -&gt; ana_kod/dahili dizinin kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'AHDIZ'</span><span class="sy0">,</span>ADIZ<span class="sy0">.</span><span class="st_h">'harici'</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// AHDIZ -&gt; ana_kod/harici dizinin kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'SDIZ'</span><span class="sy0">,</span>KDIZ<span class="sy0">.</span><span class="st_h">'site'</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// SDIZ -&gt; site dizinin kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'TDIZ'</span><span class="sy0">,</span>SDIZ<span class="sy0">.</span><span class="st_h">'temalar'</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// TDIZ -&gt; tema dizinin kısaltılmışı</span>
&nbsp;
<span class="kw1">include</span><span class="br0">&#40;</span>MADIZ<span class="sy0">.</span><span class="st_h">'ana_ayar.php'</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// Ayar dosyası</span>
&nbsp;
<span class="sy1">?&gt;</span></pre></div></div>
<p>&nbsp;</p>
<p>Ayar dosyamızdan sonra, sıra template dosyamızı bağlamaya geldi.  Aşağıdaki kodda, ayar dosyamızda belirttiğimiz tema dizinindeki tema.php dosyası çağrılıp çıktı olarak veriliyor.</p>
<p>&nbsp;</p>
<div id="wpshdo_13" class="wp-synhighlighter-outer"><div id="wpshdt_13" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_13"></a><a id="wpshat_13" class="wp-synhighlighter-title" href="#codesyntax_13"  onClick="javascript:wpsh_toggleBlock(13)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_13" onClick="javascript:wpsh_code(13)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_13" onClick="javascript:wpsh_print(13)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_13" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
&nbsp;
<span class="co1">//--- Template dosyasını çağır</span>
<span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.php.net/is_file"><span class="kw3">is_file</span></a><span class="br0">&#40;</span><span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'ayar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'tema-dosyasi'</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="kw1">include</span><span class="br0">&#40;</span><span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'ayar'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'tema-dosyasi'</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span>
    <span class="kw1">echo</span> <span class="st_h">'tema dosyası bulunamadı...'</span><span class="sy0">;</span>
<span class="br0">&#125;</span>
<span class="sy1">?&gt;</span></pre></div></div>
<p>&nbsp;</p>
<p>Sayfayı tarayıcıdan çağırdığınızda, eklediğiniz temanın php kodunuz üzerinden size ulaştığını göreceksiniz. Diğer benzerleri gibi, bizim temamız da içinde bir sürü örnek yazı ile geldiğinden, sayfada görünen site, bu örnek yazıları barındırıyor olacaktır. Template dosyalarını kendi işimize yarar hale çevirmek için içindeki alanları boşaltıp kendi değişkenlerimizi burdan çalışır hale getirmeliyiz.</p>
<p>&nbsp;</p>
<p>Kodlama yapmadan önce elimizdeki tema dosyasını inceleyerek, temamızın içerik konulan parçalarını belirleyelim. Belirlenen alanlara tanımlanacak olan değişkenleri, PHP içinden yapacağımız işlemlerle doldurarak, sayfamızı dinamik hale getirebiliriz.</p>
<p>&nbsp;</p>
<p>Örneğin, monitör resminin solundaki alanı, tanımlayalım.</p>
<p>&nbsp;</p>
<div id="wpshdo_14" class="wp-synhighlighter-outer"><div id="wpshdt_14" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_14"></a><a id="wpshat_14" class="wp-synhighlighter-title" href="#codesyntax_14"  onClick="javascript:wpsh_toggleBlock(14)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_14" onClick="javascript:wpsh_code(14)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_14" onClick="javascript:wpsh_print(14)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_14" class="wp-synhighlighter-inner" style="display: block;"><pre class="html4strict" style="font-family:monospace;"><span class="sc2">&lt;<a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;pitch&quot;</span>&gt;</span>
<span class="sc2">&lt;<a href="http://december.com/html/4/element/h1.html"><span class="kw2">h1</span></a>&gt;</span>We provide turnkey, high-quality<span class="sc2">&lt;<a href="http://december.com/html/4/element/br.html"><span class="kw2">br</span></a> <span class="sy0">/</span>&gt;</span>solutions regardless of the project size.<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/h1.html"><span class="kw2">h1</span></a>&gt;</span>
<span class="sc2">&lt;<a href="http://december.com/html/4/element/h2.html"><span class="kw2">h2</span></a>&gt;</span>We're a professional, full service web development company that creates elegant website designs and build innovative web applications.<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/h2.html"><span class="kw2">h2</span></a>&gt;</span>
<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a>&gt;</span></pre></div></div>
<pre></pre>
<p>Ve bu alanı, index.php den yapılacak programlar ile işlenebilecek şekilde yeniden tanımlayalım.</p>
<p>&nbsp;</p>
<div id="wpshdo_15" class="wp-synhighlighter-outer"><div id="wpshdt_15" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_15"></a><a id="wpshat_15" class="wp-synhighlighter-title" href="#codesyntax_15"  onClick="javascript:wpsh_toggleBlock(15)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_15" onClick="javascript:wpsh_code(15)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_15" onClick="javascript:wpsh_print(15)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_15" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
<span class="sy0">&lt;</span>div id<span class="sy0">=</span><span class="st_h">'pitch'</span><span class="sy0">&gt;</span>
<span class="sy0">&lt;</span>h1<span class="sy0">&gt;</span><span class="sy1">&lt;?</span>php <span class="kw1">echo</span> <span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'sayfa'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'icerik'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'baslık'</span><span class="br0">&#93;</span><span class="sy0">;</span><span class="sy1">?&gt;</span>&lt;/h1&gt;
&lt;h2&gt;<span class="kw2">&lt;?php</span> <span class="kw1">echo</span> <span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'sayfa'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'icerik'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'alt_baslık'</span><span class="br0">&#93;</span><span class="sy0">;</span><span class="sy1">?&gt;</span>&lt;/h2&gt;
&lt;/div&gt;
&nbsp;
?&gt;</pre></div></div>
<p>&nbsp;</p>
<p>index.php dosyasına eklenecek kod.</p>
<div id="wpshdo_16" class="wp-synhighlighter-outer"><div id="wpshdt_16" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_16"></a><a id="wpshat_16" class="wp-synhighlighter-title" href="#codesyntax_16"  onClick="javascript:wpsh_toggleBlock(16)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_16" onClick="javascript:wpsh_code(16)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_16" onClick="javascript:wpsh_print(16)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_16" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
&nbsp;
<span class="re0">$sayfa</span><span class="br0">&#91;</span><span class="st_h">'icerik'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'baslık'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">'Ana Başlık'</span><span class="sy0">;</span>
<span class="re0">$sayfa</span><span class="br0">&#91;</span><span class="st_h">'icerik'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'alt_baslık'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st_h">'Ana başlık alt başlık içinde yeralması gereken bu açıklamanın biraz uzun olması gerekiyor ki kendine ayrılan alanı doldurmuş olabilsin, aksi halde tema testi arzu edilen sonucu vermeyebilir.'</span><span class="sy0">;</span>
&nbsp;
<span class="re0">$GLOBALS</span><span class="br0">&#91;</span><span class="st_h">'ym'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'sayfa'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$sayfa</span><span class="sy0">;</span>
&nbsp;
 <span class="sy1">?&gt;</span></pre></div></div>
<p>&nbsp;</p>
<p>Böylece, dana önceden tanımladığımız alana istediğimiz değerleri PHP vasıtası ile yerleştirebilecek duruma gelmiş bulunuyoruz.</p>
<p>Ekteki dosyada, tüm dizin yapısı, index.php, ana_ayar.php, tema.php ve tema için gerekli diğer dosyaları bulabilirsiniz.</p>
<p><a href="http://www.delifisek.net/wp-content/uploads/2012/01/php_çalışma.15.01.2012.rar" class="lizip">php_çalışma.15.01.2012</a></p>
<p>&nbsp;</p>
<p><a href="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" class="liimagelink"><img class="aligncenter size-full wp-image-87" title="tescil-turktrust-damgasi" src="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" alt="" width="523" height="36" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.delifisek.net/php/hazir-template-dosyalari-ile-calismak.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Projeler İçin Kullanışlı Dizin Yapısı</title>
		<link>http://www.delifisek.net/php/projeler-icin-kullanisli-dizin-yapisi.html</link>
		<comments>http://www.delifisek.net/php/projeler-icin-kullanisli-dizin-yapisi.html#comments</comments>
		<pubDate>Sun, 08 Jan 2012 22:23:09 +0000</pubDate>
		<dc:creator>Sancar Saran</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[Web Programlama]]></category>
		<category><![CDATA[dizin yapısı]]></category>

		<guid isPermaLink="false">http://www.delifisek.net/?p=293</guid>
		<description><![CDATA[Merhaba, birazdan genelde sık karşılaştığım, projeler için ideal dizin yapısı ne olmalıdır sorusuna cevap vermeye çalışacağım. Açık olmak gerekirse, bir birinden farklı dizin yapılarının birbirlerine karşı çok ciddi bir avantajının olduğunu söylemek doğru değildir. Kullanacağınız dizin yapısının sizin kendi çalışma alışkanlıklarınızı destekleyen bir yapıda olması yeterlidir. Projelerde kullanılan, içerik yönetim sistemleri, frameworkler dizin içeriklerinin belirlenmesinde [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.delifisek.net/wp-content/uploads/2012/01/directory_structure.png" class="liimagelink"><img class="alignright size-thumbnail wp-image-295" title="directory_structure" src="http://www.delifisek.net/wp-content/uploads/2012/01/directory_structure-150x150.png" alt="" width="150" height="150" /></a>Merhaba, birazdan genelde sık karşılaştığım, projeler için ideal dizin yapısı ne olmalıdır sorusuna cevap vermeye çalışacağım. Açık olmak gerekirse, bir birinden farklı dizin yapılarının birbirlerine karşı çok ciddi bir avantajının olduğunu söylemek doğru değildir. Kullanacağınız dizin yapısının sizin kendi çalışma alışkanlıklarınızı destekleyen bir yapıda olması yeterlidir. Projelerde kullanılan, içerik yönetim sistemleri, frameworkler dizin içeriklerinin belirlenmesinde önemli rol oynarlar. Güncel PHP frameworklerin çoğunluğu belirli bir dizin yapısını dikte ederler ve programcının buna uymasını beklerler.</p>
<p>&nbsp;</p>
<p>Bu makalemizde, ileride işleyeceğimiz konuları anlatırken kullanacağımız sistemi içine yerleştireceğimiz dizin yapısını kurarken, neyi neden yaptığımızı da anlatarak kendi projeleriniz için faydalanabileceğiniz bir model ortaya koyacağız. Daha rahat kavranması için tamamen yerli bir model kullanacağım.</p>
<p>&nbsp;</p>
<h3>Kök dizin (root) /</h3>
<p>Adından da anlaşıldığı gibi projemizin ana dizinidir. Bazı projeler kök dizini doldurmayı severken, (WordPress, phpmyadmin), bazıları daha yalın kullanmayı tercih ederler (Joomla, TYPO3). Şahsen daha az dosya sayısına sahip yerleşimleri tercih ediyorum. Sebebi ise, bir dizindeki dosya sayısı arttıkça, aralarında dolaşmak güçleşir. Özellikle yazdığınız kodları güncellerken veya acil bir durumda kodlar arasında geçiş yaparken kalabalık dosya sayısı dikkatinizi dağıtır. Bu sebep dolayısı ile az dosya sayısına sahip dizin yapılarını tercih ediyorum.</p>
<p>&nbsp;</p>
<h3>Ana kod, kütüphane (library, libs) /ana_kod</h3>
<p>ana_kod adınızı verdiğimiz bu dizin yazacağınız temel kodları barındıracaktır. Site ile ilgili diğer bir çok kodun barınacağı ana dizin budur. Kendi yazacağınız, dışarıdan ithal edeceğiniz tüm kütüphaneler, sitenize ekleyeceğiniz modüller burada bulunmalıdır. Bu dizinde tutulmaması gerekenler ise, ayar dosyaları ve cache dosyalarıdır. Bunların detayına birazdan gireceğim.</p>
<p>ana_kod alt dizinleri</p>
<p>/ana_kod/dahili  - kendi yazmış olduğunuz fonksiyon ve class ları içeren php dosyaları</p>
<p>/ana_kod/harici &#8211; dışarıdan ithal ettiğiniz kütüphaneler (phpmailer vb)</p>
<p>/ana_kod/ilaveler &#8211; genelde yabancı projelerde module, plugin, extension vs adı ile anılan, sisteminize yeni özellikler katan ufak program parçaları</p>
<p>/ana_kod/dokuman &#8211; eğer sisteminizle birlikte bir dökümantasyon sunacaksanız. Bunları koymak için kullanacağınız dizin burasıdır.</p>
<p>&nbsp;</p>
<h3>Mevcut, yerel (local, actual)</h3>
<p>Çalışan siteye ait ayarların, cache (önbellek) dosyalarını bu dizinde tutacağız, neden ana_kod dizinini kullanmadığımıza gelirsek. Varsayalım aynı kodu kullandığınız birden fazla siteniz var, eğer ayar dosyası ayrı bir dizinde olmaz ise, tüm kütüphaneleri ayrı ayrı her dizin için kopyalamanız gerekir (çünkü her sitenin ayarları farklıdır). Bu pek sorun olmasa da ilerde yapacağınız güncellemeyi her dizin için ayrı ayrı tekrar yapmayı gerektirir. Ancak tek bir ana_kod dizini kullanır, bunu web sitenizin dışına koyar ayar veya index.php dosyasından ana_kod dizinini tanımlar vaya unix dosya sistemindeki ln -s komutunu kullanarak soft link verebilirseniz bütün siteleriniz de tek bir ana_kod kullanabilirsiniz.</p>
<p>Bunun yanı sıra web dizini dışında bir ana_kod dizini kullanmak güvenliğinize ek bir katman daha sağlıyacaktır&#8230;</p>
<p>Bağlarsak, ayarlar ve ana_kod bir birinden ayrı duracak.</p>
<p>&nbsp;</p>
<p>mevcut alt dizinleri</p>
<p>/mevcut/ayarlar &#8211; ayar dosyaları</p>
<p>/mevcut/onbellek &#8211; onbellek dosyaları</p>
<p>/mevcut/ilaveler &#8211; sadece bu site için geçerli ilaveleri buraya kaydedebilirsiniz.</p>
<p>&nbsp;</p>
<h3>Panel (admin) /panel</h3>
<p>panel dizini sitemizi yönetirken kullanacağımız programları koyacağımız dizindir. Ayrı bir dizinde olmasının temel nedeni, panel programlarının sitemizi çalıştıran programlarla ayrı çalışmasının gerekliliğidir. Şöyle açalım panel üstünde yaptığınız bir çalışmada hata yaptınız (bir template dosyasında php kodlama hatası yaptınız) yaptığınız hata yüzünden tüm site devre dışı kalacaktır, eğer paneliniz ana siteden ayrı çalışırsa, bu hatayı hemen düzeltmeniz mümkün, aksi halde ftp vb yollarla daha uzun sürede hatanızı çözmeniz gerekecektir. Bu yüzden panel dizinimiz ana siteden ayrı bir dizinde çalışmalıdır.</p>
<p>&nbsp;</p>
<h3>Site /site</h3>
<p>site dizini, kuracağımız sitede tarayıcılar tarafından erişilecek dosyaları koyacağımız alandır. Javascript dosyaları, css dosyaları, imaj dosyaları hep bu dizinde bulunacaktır.</p>
<p>site alt dizinleri.</p>
<p>/site/temalar &#8211; birden fazla tema kullanımı için böyle bir dizin işe yarayacaktır.</p>
<p>/site/temalar/tema_adı/css</p>
<p>/site/temalar/tema_adı/js</p>
<p>/site/temalar/tema_adı/imaj</p>
<p>/site/temalar/tema_adı/css</p>
<p>/site/js &#8211; jQuery, dojo vs gibi javascript kütüphaneleri için bu dizini kullanabilirsiniz.</p>
<p>/site/imaj &#8211; kullanacağınız ikon paketleri vb gibi genel resimler için kullanabilirsiniz.</p>
<p>/site/cache &#8211; paketlenmiş javascipt ve css dosyalarını saklamak için kullanabilirsiniz.</p>
<p>/site/dosyalar &#8211; projeniz için web tabanlı bir dosya yöneticisi kullanacaksanız, bu dizini kullanıcıların yükleyeceği dosyaları saklamak için kullanabilirsiniz.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Makalelerimizde işleyeceğimiz konuları işlerken kullanacağımız dizin yapısı yaklaşık bu şekilde. İlave (module/plugin) kodlar için kullanacağımız dizin yapısını ilerde bu konulara değindiğimizde işlemeyi düşünüyorum&#8230;</p>
<p>&nbsp;</p>
<p><a href="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" class="liimagelink"><img class="aligncenter size-full wp-image-87" title="tescil-turktrust-damgasi" src="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" alt="" width="523" height="36" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.delifisek.net/php/projeler-icin-kullanisli-dizin-yapisi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Çıktı Biriktirme (output buffering) ve Spagetti PHP template dosyaları</title>
		<link>http://www.delifisek.net/php/cikti-biriktirme-output-buffering-ve-spagetti-php-template-dosyalari.html</link>
		<comments>http://www.delifisek.net/php/cikti-biriktirme-output-buffering-ve-spagetti-php-template-dosyalari.html#comments</comments>
		<pubDate>Sat, 31 Dec 2011 15:32:35 +0000</pubDate>
		<dc:creator>Sancar Saran</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[output_buffering]]></category>

		<guid isPermaLink="false">http://www.delifisek.net/?p=255</guid>
		<description><![CDATA[Merhaba, bu makalemizde output buffering (çıktı biriktirme) konusunda bilgiler vermeye çalışacağım. Daha önceki makalelerimiz de PHP de işlem yaptığımız değişkenleri echo ile çıktı verdiğimizden bahsetmiştik. Genel olarak internette bulunan bir çok php örneğinde sayfaların hemen her yerinde echo ile eldeki değişkeni direkt olarak çıkışa yönlendiren bir model söz konusu, bu yaklaşım, hem performans, hemde session_start() [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.delifisek.net/wp-content/uploads/2011/12/Gordon_Dam.jpg" class="liimagelink"><img class="size-thumbnail wp-image-257 alignright" title="Gordon_Dam Wikimedia Commons." src="http://www.delifisek.net/wp-content/uploads/2011/12/Gordon_Dam-150x150.jpg" alt="Gordon barajı, Wikimedia Commons." width="150" height="150" /></a></p>
<p>Merhaba, bu makalemizde output buffering (çıktı biriktirme) konusunda bilgiler vermeye çalışacağım. Daha önceki makalelerimiz de PHP de işlem yaptığımız değişkenleri echo ile çıktı verdiğimizden bahsetmiştik. Genel olarak internette bulunan bir çok php örneğinde sayfaların hemen her yerinde echo ile eldeki değişkeni direkt olarak çıkışa yönlendiren bir model söz konusu, bu yaklaşım, hem performans, hemde session_start() gibi, tarayıcıya çıktı vermeden önce gerçekleştirilmesi gereken işlemlerin organizasyonu için önemlidir. Kodun bir çok yerinden çıktı vermek ve veya kontrolsüz spagetti php kullanmak, ilerleyen aşamalarda gereken debug işlemlerinde programcıya çok büyük sorunlar çıkarmaktadır. Bu yüzden ideal çıktı metodu, tüm işlemler bitirildikten sonra kod sonunda yapılan tek echo modelidir. Bu sayede hem dönem dönem meydana gelen headers_send problemi ile karşılaşılmayacak hemde tek echo ile TCP paketlerinde oluşan fragmentasyon minimize edilecektir.<br />
ana_template.php</p>
<div id="wpshdo_17" class="wp-synhighlighter-outer"><div id="wpshdt_17" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_17"></a><a id="wpshat_17" class="wp-synhighlighter-title" href="#codesyntax_17"  onClick="javascript:wpsh_toggleBlock(17)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_17" onClick="javascript:wpsh_code(17)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_17" onClick="javascript:wpsh_print(17)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_17" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;">&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;title&gt;<span class="kw2">&lt;?php</span> <span class="kw1">echo</span> <span class="re0">$sayfa_baslik</span><span class="sy0">;</span><span class="sy1">?&gt;</span>&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;p&gt;
<span class="kw2">&lt;?php</span> <span class="kw1">echo</span> <span class="re0">$sayfa_icerik</span><span class="sy0">;</span><span class="sy1">?&gt;</span>
&lt;/p&gt;
  &lt;/body&gt;
&lt;/html&gt;</pre></div></div>
<p>Yukarıda verilmiş spagetti PHP modeli bir template dosyamız olsun normal şartlarda bunu bir önceki makalemizde verdiğimiz koda benzer bir kodla index.php ile birleştirmemiz mümkün.</p>
<p>index.php</p>
<div id="wpshdo_18" class="wp-synhighlighter-outer"><div id="wpshdt_18" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_18"></a><a id="wpshat_18" class="wp-synhighlighter-title" href="#codesyntax_18"  onClick="javascript:wpsh_toggleBlock(18)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_18" onClick="javascript:wpsh_code(18)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_18" onClick="javascript:wpsh_print(18)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_18" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'DA'</span><span class="sy0">,</span>DIRECTORY_SEPERATOR<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// DA -&gt; dizin ayracının kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'KDIZ'</span><span class="sy0">,</span><a href="http://www.php.net/dirname"><span class="kw3">dirname</span></a><span class="br0">&#40;</span><span class="kw4">__FILE__</span><span class="br0">&#41;</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// KDIR -&gt; kök dizinin kısaltılmışı</span>
&nbsp;
<span class="re0">$sayfa_basik</span> <span class="sy0">=</span> <span class="st_h">'Maraba Televole'</span><span class="sy0">;</span>
<span class="re0">$sayfa_i</span>çerik <span class="sy0">=</span> <span class="st_h">'İşte ben geldim'</span><span class="sy0">;</span>
&nbsp;
<span class="kw1">include</span><span class="br0">&#40;</span>KDIZ<span class="sy0">.</span><span class="st_h">'ana_template.php'</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// &lt;- bu ekleme ile birlikte sayfa çıktısı verilecektir.</span>
<span class="sy1">?&gt;</span></pre></div></div></pre>
<p>Buraya kadar herşey normal. Şimdi <a href="http://www.delifisek.net/php/phpde-degiskenler-ve-diziler.html" title="PHP’de Değişkenler ve Diziler" class="liinternal">PHP’de Değişkenler ve Diziler</a> makalesinde verdiğimiz manav örneğini kodumuza ekleyelim.</p>
<pre>manav.php</pre>
<pre><div id="wpshdo_19" class="wp-synhighlighter-outer"><div id="wpshdt_19" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_19"></a><a id="wpshat_19" class="wp-synhighlighter-title" href="#codesyntax_19"  onClick="javascript:wpsh_toggleBlock(19)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_19" onClick="javascript:wpsh_code(19)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_19" onClick="javascript:wpsh_print(19)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_19" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'sebze'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'patlıcan'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">1.5</span><span class="sy0">;</span>
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'sebze'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'domates'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">1.25</span><span class="sy0">;</span>
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'sebze'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'biber'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">2.85</span><span class="sy0">;</span>
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'sebze'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'soğan'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">0.5</span><span class="sy0">;</span>
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'sebze'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'pırasa'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">3</span><span class="sy0">;</span>
&nbsp;
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'meyve'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'portakal'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">1.35</span><span class="sy0">;</span>
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'meyve'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'mandalina'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">1.05</span><span class="sy0">;</span>
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'meyve'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'elma'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">1</span><span class="sy0">;</span>
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'meyve'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'armut'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">2</span><span class="sy0">;</span>
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'meyve'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'kivi'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">5</span><span class="sy0">;</span>
<span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re0">$stok</span> <span class="kw1">as</span> <span class="re0">$reyon</span> <span class="sy0">=&gt;</span> <span class="re0">$urunler</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">//1. basamak sebze veya meyve</span>
    <span class="kw1">echo</span> <span class="st0">&quot;Reyon : &quot;</span><span class="sy0">.</span><span class="re0">$reyon</span><span class="sy0">.</span><span class="st0">&quot; &lt;br/&gt;&quot;</span><span class="sy0">;</span>
    <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re0">$urunler</span> <span class="kw1">as</span> <span class="re0">$urun</span> <span class="sy0">=&gt;</span> <span class="re0">$fiyati</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">// 2. basamak ürün ve fiyatları</span>
        <span class="kw1">echo</span> <span class="st0">&quot;Ürün : &quot;</span><span class="sy0">.</span><span class="re0">$urun</span><span class="sy0">.</span><span class="st0">&quot; - Fiyatı :&quot;</span><span class="sy0">.</span><span class="re0">$fiyati</span><span class="sy0">.</span><span class="st0">&quot; &lt;br/&gt;&quot;</span><span class="sy0">;</span> <span class="co1">// her eleman için attığın turda elemanın adını ve fiyatını ekrana bas.</span>
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span>
<span class="sy1">?&gt;</span></pre></div></div></pre>
<p>manav.php yi index.php dosyamıza ekliyelim</p>
<div id="wpshdo_20" class="wp-synhighlighter-outer"><div id="wpshdt_20" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_20"></a><a id="wpshat_20" class="wp-synhighlighter-title" href="#codesyntax_20"  onClick="javascript:wpsh_toggleBlock(20)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_20" onClick="javascript:wpsh_code(20)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_20" onClick="javascript:wpsh_print(20)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_20" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'DA'</span><span class="sy0">,</span>DIRECTORY_SEPERATOR<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// DA -&gt; dizin ayracının kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'KDIZ'</span><span class="sy0">,</span><a href="http://www.php.net/dirname"><span class="kw3">dirname</span></a><span class="br0">&#40;</span><span class="kw4">__FILE__</span><span class="br0">&#41;</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// KDIR -&gt; kök dizinin kısaltılmışı</span>
<span class="re0">$sayfa_basik</span> <span class="sy0">=</span> <span class="st_h">'Maraba Televole'</span><span class="sy0">;</span>
<span class="re0">$sayfa_i</span>çerik <span class="sy0">=</span> <span class="st_h">'İşte ben geldim'</span><span class="sy0">;</span>
<span class="kw1">include</span><span class="br0">&#40;</span>KDIZ<span class="sy0">.</span><span class="st_h">'ana_template.php'</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// &lt;- bu ekleme ile birlikte sayfa çıktısı verilecektir.</span>
<span class="kw1">include</span><span class="br0">&#40;</span>KDIZ<span class="sy0">.</span><span class="st_h">'manav.php'</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// &lt;- bu ekleme ile birlikte manav.php çıktısı &lt;/html&gt; tagından sonra çıkacaktır</span>
<span class="sy1">?&gt;</span></pre></div></div></pre>
<p>görüldüğü gibi manav.php dosyasının çıktısı istediğimiz noktada olmadı.</p>
<div id="wpshdo_21" class="wp-synhighlighter-outer"><div id="wpshdt_21" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_21"></a><a id="wpshat_21" class="wp-synhighlighter-title" href="#codesyntax_21"  onClick="javascript:wpsh_toggleBlock(21)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_21" onClick="javascript:wpsh_code(21)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_21" onClick="javascript:wpsh_print(21)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_21" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'DA'</span><span class="sy0">,</span>DIRECTORY_SEPERATOR<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// DA -&gt; dizin ayracının kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'KDIZ'</span><span class="sy0">,</span><a href="http://www.php.net/dirname"><span class="kw3">dirname</span></a><span class="br0">&#40;</span><span class="kw4">__FILE__</span><span class="br0">&#41;</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// KDIR -&gt; kök dizinin kısaltılmışı</span>
&nbsp;
<span class="re0">$sayfa_basik</span> <span class="sy0">=</span> <span class="st_h">'Maraba Televole'</span><span class="sy0">;</span>
<span class="re0">$sayfa_i</span>çerik <span class="sy0">=</span> <span class="st_h">'İşte ben geldim'</span><span class="sy0">;</span>
<span class="kw1">include</span><span class="br0">&#40;</span>KDIZ<span class="sy0">.</span><span class="st_h">'manav.php'</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// &lt;- bu ekleme ile birlikte manav.php çıktısı sayfadan önce çıkacak yapıyı bozacaktır.</span>
<span class="kw1">include</span><span class="br0">&#40;</span>KDIZ<span class="sy0">.</span><span class="st_h">'ana_template.php'</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// &lt;- bu ekleme ile birlikte sayfa çıktısı verilecektir.</span>
<span class="sy1">?&gt;</span></pre></div></div></pre>
<p>Bu örnekte de istediğimiz sonuca ulaşamadık, elbette bu dosyayı, ana_template.php dosyası içinden ekleyerek isteğimize ulaşabiliriz, ancak bu şekilde yapacağımız bir uygulama, bizim her sayfa için ayrı bir ana_template dosyası kullanmamıza neden olacaktır, tabi ana_template.php dosyası içinden manav template dosyasını çağıracak bir modelde kurabilir. Lakin o zamanda, uzun vadede kontrolü çok zor spagetti php kodlamaya yönlendirecektir. Elbette çeşitli template çözümleri kullanmak mümkün fakat biz opcode cache sisteminden mümkün olan en iyi faydayı sağlamak ve template sistemi yükünü taşımamak üzere bir çözüm geliştirme peşindeyiz. O halde, php dahilindeki bir imkanı kendi amacımız doğrultusunda kullanacağız.</p>
<p>&nbsp;</p>
<div id="wpshdo_22" class="wp-synhighlighter-outer"><div id="wpshdt_22" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_22"></a><a id="wpshat_22" class="wp-synhighlighter-title" href="#codesyntax_22"  onClick="javascript:wpsh_toggleBlock(22)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_22" onClick="javascript:wpsh_code(22)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_22" onClick="javascript:wpsh_print(22)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_22" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'DA'</span><span class="sy0">,</span>DIRECTORY_SEPERATOR<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// DA -&gt; dizin ayracının kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'KDIZ'</span><span class="sy0">,</span><a href="http://www.php.net/dirname"><span class="kw3">dirname</span></a><span class="br0">&#40;</span><span class="kw4">__FILE__</span><span class="br0">&#41;</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// KDIR -&gt; kök dizinin kısaltılmışı</span>
<span class="re0">$sayfa_basik</span> <span class="sy0">=</span> <span class="st_h">'Maraba Televole'</span><span class="sy0">;</span>
&nbsp;
<a href="http://www.php.net/ob_start"><span class="kw3">ob_start</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">//--- Oputput Buffering sistemini aç</span>
<span class="kw1">include</span><span class="br0">&#40;</span>KDIZ<span class="sy0">.</span><span class="st_h">'manav.php'</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// &lt;- manav sistemini koda dahil eti</span>
<span class="re0">$sayfa_i</span>çerik <span class="sy0">=</span> <a href="http://www.php.net/ob_end_clean"><span class="kw3">ob_end_clean</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">//&lt;- output buffering sistemini bitir, topladığın outputu $sayfa_içerik  değişkenine sakla.</span>
<span class="kw1">include</span><span class="br0">&#40;</span>KDIZ<span class="sy0">.</span><span class="st_h">'ana_template.php'</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// &lt;- bu ekleme ile birlikte sayfa çıktısı verilecektir.</span>
<span class="sy1">?&gt;</span></pre></div></div></pre>
<p>Kodu çalıştırdğımızda, manav.php içeriğinin &lt;body&gt; t&lt;/body&gt; arasında kaldığını göreceğiz. Bu makalede bahsedilen ob_start() -&gt; include() -&gt; ob_end_clean() modeli ile istenilen php kod parçaları direkt veya fonksiyon yardımı ile çalışan kod bloğuna eklenip elde edilen html çıktısı daha sonra ana sayfada uygun görülen noktaya yönlendirilebilir. Erken çıktı verilmediği için kod içerisinde ihtiyaç duyulan herhangi bir anda, cookie veya session_register işlemi yapılabilir. tek çıktı kullanıldığı için tcp fragmentasyonu minimize edilmiştir. Çok kullanışlı olan bu metodun tek dezavantajı, yapılan sayfa parçalarını hafızada tutmasından dolayı, PHP nin kullanacağı sunucu hafızasını bir miktar arttırmasıdır.</p>
<p><a href="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" class="liimagelink"><img class="aligncenter size-full wp-image-87" title="tescil-turktrust-damgasi" src="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" alt="" width="523" height="36" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.delifisek.net/php/cikti-biriktirme-output-buffering-ve-spagetti-php-template-dosyalari.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Birden Fazla PHP Dosyası ile Çalışmak</title>
		<link>http://www.delifisek.net/php/birden-fazla-php-dosyasi-ile-calismak.html</link>
		<comments>http://www.delifisek.net/php/birden-fazla-php-dosyasi-ile-calismak.html#comments</comments>
		<pubDate>Sat, 31 Dec 2011 14:04:53 +0000</pubDate>
		<dc:creator>Sancar Saran</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[constants]]></category>
		<category><![CDATA[file path]]></category>
		<category><![CDATA[include]]></category>
		<category><![CDATA[include_once]]></category>
		<category><![CDATA[require]]></category>
		<category><![CDATA[require_once]]></category>

		<guid isPermaLink="false">http://www.delifisek.net/?p=227</guid>
		<description><![CDATA[Merhabalar, bu makalemde sizlere birden fazla PHP dosyası ile çalışma konusunda bilgiler vereceğim. PHP makalelerinin en başında yaparak öğrenme ve öğretme prensibini benimsediğimi belirtmiştim. Lakin yazdığım makalelerin biraz kuru kaldığını düşünüyorum. İşlenen konulardaki örneklerin güncel bir web sitesi örneği üzerinden yapılmasının, amacına daha uygun olacağından, makaleleri güncel bir model üzerinden anlatmaya karar verdim. Bu yüzden [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.delifisek.net/wp-content/uploads/2011/12/include.png" class="liimagelink"><img class="alignright size-thumbnail wp-image-228" title="include" src="http://www.delifisek.net/wp-content/uploads/2011/12/include-150x150.png" alt="" width="150" height="150" /></a>Merhabalar, bu makalemde sizlere birden fazla PHP dosyası ile çalışma konusunda bilgiler vereceğim. PHP makalelerinin en başında yaparak öğrenme ve öğretme prensibini benimsediğimi belirtmiştim. Lakin yazdığım makalelerin biraz kuru kaldığını düşünüyorum. İşlenen konulardaki örneklerin güncel bir web sitesi örneği üzerinden yapılmasının, amacına daha uygun olacağından, makaleleri güncel bir model üzerinden anlatmaya karar verdim. Bu yüzden önümüzdeki bir kaç makalede, güncel bir web sitesi alt yapısı nasıl kurulur bunu anlatacağım. İlk adım olarak da birden fazla PHP dosyası ile nasıl çalışılır bunu anlatacağım ki devam eden makalelerde anlatılacak olan yöntemler konusunda yabancılık çekmeyin.</p>
<p>Programcılıkta, birden fazla kaynak kodu dosyası ile çalışmanın en temel gereği, yazdığınız programların tertip ve düzeni ile ilgilidir. Özellikle işe yarayan programlar, devamlı olarak bakım onarım gerektirirler. Bu yüzden yazılanların tekrar geri okunabilmesi, gerekir. Bunu sağlamanın en iyi yollarından bir tanesi, bir bir ile alakalı fonksiyonları veya kod bloklarını belirli dosyalar altında gruplara ayırmak ve bunları bir arada tutmaktır. Böylece programın güncellemek istediğiniz kısmına odaklandığınız zaman diğer bölümleri ilgilendiren kodlar sizin önünüze çıkmayacak, kafanız elinizdeki programcılık problemini çözmek için daha berrak olacaktır.</p>
<p>Bir web sitesi PHP ile yazılmış bir sistemi çalıştırmak için ayarlandığında (aksi belirtilmemişse(ki bu çok sık görebileceğiniz bir şey değildir)) ilk yaptığı şey web sitesi için ayrılmış dizindeki <strong>index.php </strong>dosyasını çalıştırmaktır. Bundan sonra eklenecek olan PHP dosyalarını belirlemek, programcının görevidir.</p>
<p>PHP dosyalarını bir birine eklemek için, PHP dilinde 4 ayrı bildirme şekli vardır. Bunlar <strong>include(), require(), include_once(), require_once() </strong>bildirimleridir. Genel olarak hepsi aynı işlevi yerine getirse de, aralarındaki farkın iyi binmesi gereklidir. Bu dört bildirimin kullanım şekli aynıdır. Parantez içine eklenecek dosya ismi yazılır. Örneğin include(&#8216;db.php&#8217;); gibi.</p>
<p>1- include(), temel ekleme bildirimi. Eklenmesi bildirilen dosya bulunamaz ise, hata verir ancak kod çalışmaya devam eder.</p>
<p>2- require(), include bildiriminden farklı olarak require bildiriminde eklenmesi istenen dosya bulunamaz ise, kod hata verir ve çalışmayı durdurur.</p>
<p>3- include_once(), normalinden farklı olarak eklenmesi istenen dosyayı sadece bir kere ekletir, dosya bulunamaz ise kod hata verir ancak çalışmaya devam eder.</p>
<p>4- require_once(), normalinden farklı olarak eklenmesi istenen dosyayı sadece bir kere ekletir, dosya bulunamaz ise kod hata verir ve çalışmayı durdurur.</p>
<p>include_once() ve require_once(), içinde fonksiyon veya class (sınıf) tanımı yapılmış dosyaları eklemek için kullanılır, çünkü PHP de her fonksiyon veya class bir sefer deklare edilir, aynı fonksiyon veya class tekrar deklare edilmeye kalkılırsa kod hata verir ve çalışma durdurulur.</p>
<p>Bağlarsak,  normal dosyalarımız include(), olmassa olmaz dosyalarımızı da require() ile çağırıyoruz, eğer bu dosyalarımız fonksiyon veya sınıf içeriyorsa o zaman _once() türevlerini kullanıyoruz.</p>
<p>&nbsp;</p>
<h3>include ederken kesin yolu kullanmak</h3>
<p>PHP de dosyaları birbirine bağlarken yapılan en büyük hatalardan biri, eklenecek dosyaları absolute path (kesin yol) kullanmak yerine, relative path (konuma göre) kullanarak eklemektir  eklemektir. Konuma göre dosya eklemek, yapılan her çağrıda PHP nin kodların bulunduğu dizin yapısını tekrardan çözmesine neden olur buda, performans yönünden negatif etkisi olan bir yöntemdir.</p>
<div id="wpshdo_23" class="wp-synhighlighter-outer"><div id="wpshdt_23" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_23"></a><a id="wpshat_23" class="wp-synhighlighter-title" href="#codesyntax_23"  onClick="javascript:wpsh_toggleBlock(23)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_23" onClick="javascript:wpsh_code(23)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_23" onClick="javascript:wpsh_print(23)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_23" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
&nbsp;
<span class="kw1">include_once</span><span class="br0">&#40;</span><span class="st_h">'db.php'</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// veri tabanı fonksiyonları</span>
&nbsp;
<span class="kw1">include</span><span class="br0">&#40;</span><span class="st_h">'ana_template.php'</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// template dosyası</span>
&nbsp;
<span class="sy1">?&gt;</span></pre></div></div>
<p>Yukarıdaki örnek geçerli olsa da, performans açısından negatif etkisi vardır, doğru kullanım</p>
<div id="wpshdo_24" class="wp-synhighlighter-outer"><div id="wpshdt_24" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_24"></a><a id="wpshat_24" class="wp-synhighlighter-title" href="#codesyntax_24"  onClick="javascript:wpsh_toggleBlock(24)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_24" onClick="javascript:wpsh_code(24)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_24" onClick="javascript:wpsh_print(24)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_24" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
&nbsp;
<span class="kw1">include_once</span><span class="br0">&#40;</span><a href="http://www.php.net/dirname"><span class="kw3">dirname</span></a><span class="br0">&#40;</span><span class="kw4">__FILE__</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="st_h">'/db.php'</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// veri tabanı fonksiyonları</span>
&nbsp;
<span class="kw1">include</span><span class="br0">&#40;</span><a href="http://www.php.net/dirname"><span class="kw3">dirname</span></a><span class="br0">&#40;</span><span class="kw4">__FILE__</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="st_h">'/'</span>ana_template<span class="sy0">.</span>php<span class="st_h">'); // template dosyası
?&gt;</span></pre></div></div>
<p>Yukarıdaki kodda __FILE__ adlı PHP Magic Constant (Sihirli Statik) tanımını görüyorsunuz. PHP de buna benzer 10 kadar Magic Constant bulunmaktadır. __FILE__ içinde olduğunuz dosyanın tam olarak dizinini ve adını size bildiren bir Magic Constant tanımıdır. <strong>dirname()</strong>, verdiğiniz yolun üst dizinini size geri döndüren PHP fonksiyonudur. Özetle bu şekilde çalıştığımız mevcut dosyanın bulunduğu dizini öğrenip, bu dizini ekleyeceğimiz PHP dosyasının adının önüne ekliyerek kesin yolu oluşturup, ekleme işlemine böyle başlıyoruz.</p>
<p>Ancak yukarıda verdiğimiz örnekte gördüğünüz gibi, her ekleme işlemi öncesinde devamlı olarak dirname() fonksiyonunu çalıştırmak sistemden gereksiz bir cpu gücü alacağından bu işi bir sefer yapıp, her zaman kullanacağımız bir yerde saklamak daha iyi olacaktır, elde edeceğimiz veri bir sefer belirlenip daha sonra hiç değiştirmeden kullanacağımız için constant olarak saklanması idealdir.</p>
<p>PHP  dili içinde constant (sabit) tanımlamak için define fonksiyonunu kullanıyoruz. Sabit&#8217;ler tanımlanırken isimlendirilirler, statik isimleri BÜYÜK HARF olmalıdır, yine çağırılırken BÜYÜK HARF kullanılarak çağrılır.</p>
<p>Tüm detayı toplarsak, absolute path (kesin yol) kullanarak dosya ekleme için en uygun yol</p>
<div id="wpshdo_25" class="wp-synhighlighter-outer"><div id="wpshdt_25" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_25"></a><a id="wpshat_25" class="wp-synhighlighter-title" href="#codesyntax_25"  onClick="javascript:wpsh_toggleBlock(25)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_25" onClick="javascript:wpsh_code(25)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_25" onClick="javascript:wpsh_print(25)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_25" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'KDIZ'</span><span class="sy0">,</span><a href="http://www.php.net/dirname"><span class="kw3">dirname</span></a><span class="br0">&#40;</span><span class="kw4">__FILE__</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="st_h">'/'</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// KDIR -&gt; kök dizinin kısaltılmışı</span>
<span class="kw1">include_once</span><span class="br0">&#40;</span>KDIZ<span class="sy0">.</span><span class="st_h">'db.php'</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// veri tabanı fonksiyonları</span>
<span class="kw1">include</span><span class="br0">&#40;</span>KDIZ<span class="sy0">.</span><span class="st_h">'ana_template.php'</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// template dosyası</span>
<span class="sy1">?&gt;</span></pre></div></div>
<p>Şeklindeki kod olacaktır, ancak burda küçük bir eksiklik daha var, malumunuz olduğu gibi, php kodları hem unix hemde windows ta çalışabilmektedir ve ne yazık ki bu iki işletim sisteminde dizin ayracı bir birinden farklıdır. PHP, çalışma esnasında bu konularda sorun çıkarmasa da, bir işletim sistemi için kullanılan dizin ayracını sabit olarak kullanmak, özellikle debug işlemini başka bir işletim sisteminde yaptığınız zaman soruna yol açmakta, bu yüzden kullanacağımız dizin ayraçlarını her iki sistemede uyumlu hale getiren bir model uzun vadede başımızı daha az ağrıtacaktır. PHP içinde kullanılan dizin ayracını belirten DIRECTORY_SEPERATOR sabiti tanımlı olsa da, adı uzun olduğu için her seferinde bu sabiti kullanmak pek pratik olmadığından bu iş için kendi daha kısa sabitimizi oluşturacağız.</p>
<div id="wpshdo_26" class="wp-synhighlighter-outer"><div id="wpshdt_26" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_26"></a><a id="wpshat_26" class="wp-synhighlighter-title" href="#codesyntax_26"  onClick="javascript:wpsh_toggleBlock(26)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_26" onClick="javascript:wpsh_code(26)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_26" onClick="javascript:wpsh_print(26)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_26" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'DA'</span><span class="sy0">,</span><span class="kw4">DIRECTORY_SEPARATOR</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// DA -&gt; dizin ayracının kısaltılmışı</span>
<a href="http://www.php.net/define"><span class="kw3">define</span></a><span class="br0">&#40;</span><span class="st_h">'KDIZ'</span><span class="sy0">,</span><a href="http://www.php.net/dirname"><span class="kw3">dirname</span></a><span class="br0">&#40;</span><span class="kw4">__FILE__</span><span class="br0">&#41;</span><span class="sy0">.</span>DA<span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// KDIR -&gt; kök dizinin kısaltılmışı</span>
<span class="kw1">include_once</span><span class="br0">&#40;</span>KDIZ<span class="sy0">.</span><span class="st_h">'db.php'</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// veri tabanı fonksiyonları</span>
<span class="kw1">include</span><span class="br0">&#40;</span>KDIZ<span class="sy0">.</span><span class="st_h">'ana_template.php'</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// template dosyası</span>
<span class="sy1">?&gt;</span></pre></div></div>
<p>Böylelikle include işlemleri için kullanılacak en pratik yöntemlerden birine kavuşmuş oluyoruz.</p>
<p>&nbsp;</p>
<p><a href="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" class="liimagelink"><img class="aligncenter size-full wp-image-87" title="tescil-turktrust-damgasi" src="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" alt="" width="523" height="36" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.delifisek.net/php/birden-fazla-php-dosyasi-ile-calismak.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP&#8217;de Değişkenler ve Diziler</title>
		<link>http://www.delifisek.net/php/phpde-degiskenler-ve-diziler.html</link>
		<comments>http://www.delifisek.net/php/phpde-degiskenler-ve-diziler.html#comments</comments>
		<pubDate>Mon, 26 Dec 2011 18:59:29 +0000</pubDate>
		<dc:creator>Sancar Saran</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[php programlıyorum]]></category>

		<guid isPermaLink="false">http://www.delifisek.net/?p=169</guid>
		<description><![CDATA[Merhaba, uzun bir giriş faslından sonra, kodlara dalma zamanı geldi, prensip olarak, yaparak öğrenme ekolünü benimsediğim için, makalelerimde, en başından başlayıp, zaman içinde verilen örneklerle genişleyen bir model üzerinden, web sitesi programlama  konusunda etkin bir kaynak oluşturma amacındayım. Bu yüzden klasik döküman veya kitap anlayışından çok, adım adım ilerleyen, her adımda daha farklı bir konuyu [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.delifisek.net/wp-content/uploads/2011/12/php_kodu1.jpg" class="liimagelink"><img class="alignright size-thumbnail wp-image-170" title="php_kodu1" src="http://www.delifisek.net/wp-content/uploads/2011/12/php_kodu1-150x150.jpg" alt="Php Kod Penceresi" width="150" height="150" /></a>Merhaba, uzun bir giriş faslından sonra, kodlara dalma zamanı geldi, prensip olarak, yaparak öğrenme ekolünü benimsediğim için, makalelerimde, en başından başlayıp, zaman içinde verilen örneklerle genişleyen bir model üzerinden, web sitesi programlama  konusunda etkin bir kaynak oluşturma amacındayım. Bu yüzden klasik döküman veya kitap anlayışından çok, adım adım ilerleyen, her adımda daha farklı bir konuyu (veya konuları) ele alan bir şekilde ilerlemeyi düşünüyorum.</p>
<p>&nbsp;</p>
<p>Bu makalemizde, program yazarken en fazla kullanacağınız, değişken, dizi ve sabit kavramlarını ele alıp bunların kullanımına dair örnekler göreceğiz. Bu kavramlar programcılığın temelidir. Yani tüm programlama dilleri, şu veya bu şekilde, çeşitli kaynaklardan elde ettikleri bilgileri, değişkenler, diziler ve sabitler kullanarak saklar, işler, dönüştürür ve sonuç üretirler.</p>
<p>&nbsp;</p>
<h3>Değişkenler</h3>
<p>&nbsp;</p>
<p>Değişkenleri tanımlamak için ben bir manav dükkanı genellemesi yapmanın uygun olacağını düşünüyorum. Değişkenleri manav dükkanındaki kasalara benzetebilirsiniz. Her kasada belirli bir miktar meyve veya sebze bulunacaktır, programlamada da durum benzerdir. PHP dinamik bir dil olduğu için statik dillerin aksine, değişkenleri önceden tanımlamanız gerekmez, farklı tipteki değerleri aynı değişken içinde saklayabilirsiniz. Bu husus açmak gerekirse, statik dillerde, sebze için kullanılan kasalar, meyveler için kullanılmaz.</p>
<ul>
<li>PHP&#8217;de değişken ve dizilerin başında mutlaka $ işaretinin olması gerekir.</li>
<li>Bir değişkene değer = işareti ile yüklenir.</li>
<li>Eğer bir değişkene karakter dizisi yükleyeceksek, karakter dizisi tek tırnak veya çift tırnak arasında olmalıdır.</li>
<li>Eğer bir değişkene sayı veya kesirli sayı yükleyeceksek, çift veya tek tırnak kullanmadan yüklenmelidir.</li>
<li>Eğer bir değişkene DOĞRU veya YANLIŞ yüklenecekse. çift veya tek tırkank kullanmadan yüklenme yapılır. Büyük küçük harf farketmez</li>
<li>Değişen yüklemesi ; işareti ile sona erer.</li>
</ul>
<p>&nbsp;</p>
<div id="wpshdo_27" class="wp-synhighlighter-outer"><div id="wpshdt_27" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_27"></a><a id="wpshat_27" class="wp-synhighlighter-title" href="#codesyntax_27"  onClick="javascript:wpsh_toggleBlock(27)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_27" onClick="javascript:wpsh_code(27)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_27" onClick="javascript:wpsh_print(27)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_27" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
&nbsp;
<span class="re0">$kasa</span> <span class="sy0">=</span> <span class="st_h">' '</span><span class="sy0">;</span> <span class="co1">// boş bir kasa</span>
<span class="re0">$kasa</span> <span class="sy0">=</span> <span class="st_h">'biber'</span><span class="sy0">;</span> <span class="co1">// kasamızda şu anda biber değerini tutuyor.</span>
<span class="re0">$kasa</span> <span class="sy0">=</span> <span class="nu0">2</span><span class="sy0">;</span> <span class="co1">// kasa şu anda 2 rakamını hafızasında tutuyor</span>
<span class="re0">$kasa</span> <span class="sy0">=</span> <span class="kw4">true</span><span class="sy0">;</span> <span class="co1">// kasa şu anda true DOĞRU değerini tutuyor</span>
<span class="re0">$kasa</span> <span class="sy0">=</span> <span class="kw4">false</span><span class="sy0">;</span> <span class="co1">// kasa şu anda false YANLIŞ değerini tutuyor</span>
<span class="sy1">?&gt;</span></pre></div></div>
<p>&nbsp;</p>
<p>Değişkenler ile ilgili birkaç örnek daha vermeden önce, PHP de echo fonksiyonu ve concat (karakter dizisi birleştirme ) üzerine bilgi vermek istiyorum. Bundan sonraki örneklerimizde ekran çıktı vereceğimiz için, echo fonksiyonunu kullanacağız. Aslında echo bir PHP dil özelliğidir, bu yüzden () kullanmadan da çağrılabilir. echo ekrana bir şeyler çıkarmak için kullanılır. Yani ekranda birşeyler çıkarmak istiyorsanız bunu echo lamalısınız.</p>
<p>Concat iste, özellikle echo işlemi yaparken, birden fazla değişken ve girdiğiniz statik karakterleri ekranda bir arada göstermek için kullanılan yöntemdir.</p>
<p>&nbsp;</p>
<div id="wpshdo_28" class="wp-synhighlighter-outer"><div id="wpshdt_28" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_28"></a><a id="wpshat_28" class="wp-synhighlighter-title" href="#codesyntax_28"  onClick="javascript:wpsh_toggleBlock(28)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_28" onClick="javascript:wpsh_code(28)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_28" onClick="javascript:wpsh_print(28)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_28" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
<span class="re0">$kasa</span> <span class="sy0">=</span> <span class="st_h">' '</span><span class="sy0">;</span> <span class="co1">// boş bir kasa</span>
<span class="kw1">echo</span> <span class="st0">&quot;Kasa : &quot;</span><span class="sy0">.</span><span class="re0">$kasa</span><span class="sy0">.</span><span class="st0">&quot;&lt;br/&gt;&quot;</span><span class="sy0">;</span>
<span class="re0">$kasa</span> <span class="sy0">=</span> <span class="st_h">'biber'</span><span class="sy0">;</span> <span class="co1">// kasamızda şu anda biber değerini tutuyor.</span>
<span class="kw1">echo</span> <span class="st0">&quot;Kasa : &quot;</span><span class="sy0">.</span><span class="re0">$kasa</span><span class="sy0">.</span><span class="st0">&quot;&lt;br/&gt;&quot;</span><span class="sy0">;</span>
<span class="re0">$kasa</span> <span class="sy0">=</span> <span class="nu0">2</span><span class="sy0">;</span> <span class="co1">// kasa şu anda 2 rakamını hafızasında tutuyor</span>
<span class="kw1">echo</span> <span class="st0">&quot;Kasa : &quot;</span><span class="sy0">.</span><span class="re0">$kasa</span><span class="sy0">.</span><span class="st0">&quot;&lt;br/&gt;&quot;</span><span class="sy0">;</span>
<span class="re0">$kasa</span> <span class="sy0">=</span> <span class="kw4">true</span><span class="sy0">;</span> <span class="co1">// kasa şu anda true DOĞRU değerini tutuyor</span>
<span class="kw1">echo</span> <span class="st0">&quot;Kasa : &quot;</span><span class="sy0">.</span><span class="re0">$kasa</span><span class="sy0">.</span><span class="st0">&quot;&lt;br/&gt;&quot;</span><span class="sy0">;</span> <span class="co1">// ekranda 1 çıkacaktır</span>
<span class="re0">$kasa</span> <span class="sy0">=</span> <span class="kw4">false</span><span class="sy0">;</span> <span class="co1">// kasa şu anda false YANLIŞ değerini tutuyor</span>
<span class="kw1">echo</span> <span class="st0">&quot;Kasa : &quot;</span><span class="sy0">.</span><span class="re0">$kasa</span><span class="sy0">.</span><span class="st0">&quot;&lt;br/&gt;&quot;</span><span class="sy0">;</span> <span class="co1">// ekranda herhangibirşey çıkmayacaktır</span>
<span class="re0">$kasa</span> <span class="sy0">=</span> <span class="st0">&quot;patlıcan&quot;</span><span class="sy0">;</span>
<span class="re0">$kasa2</span> <span class="sy0">=</span> <span class="re0">$kasa</span><span class="sy0">;</span> <span class="co1">// Kasa2 kasa1 in kopyasına sahip oldu.</span>
<span class="kw1">echo</span> <span class="st0">&quot;Kasa : &quot;</span><span class="sy0">.</span><span class="re0">$kasa</span><span class="sy0">.</span><span class="st0">&quot; --- Kasa2: &quot;</span><span class="sy0">.</span><span class="re0">$kasa2</span><span class="sy0">.</span><span class="st0">&quot;&lt;br/&gt;&quot;</span><span class="sy0">;</span>
<span class="re0">$kasa2</span> <span class="sy0">=</span> <span class="st0">&quot;domates&quot;</span><span class="sy0">;</span> <span class="co1">// Kasa 2 ye farklı değer tanımladık ancak kasa değişmedi.</span>
<span class="kw1">echo</span> <span class="st0">&quot;Kasa : &quot;</span><span class="sy0">.</span><span class="re0">$kasa</span><span class="sy0">.</span><span class="st0">&quot; --- Kasa2: &quot;</span><span class="sy0">.</span><span class="re0">$kasa2</span><span class="sy0">.</span><span class="st0">&quot;&lt;br/&gt;&quot;</span><span class="sy0">;</span>
<span class="sy1">?&gt;</span></pre></div></div>
<p>&nbsp;</p>
<p>PHP değişkenleri aynı zamanda sayısal ifadeleri de taşıyabilirler, aynı zamanda sayısal ifadelerle aritmetik işlemler de yapılabilir.</p>
<p>&nbsp;</p>
<div id="wpshdo_29" class="wp-synhighlighter-outer"><div id="wpshdt_29" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_29"></a><a id="wpshat_29" class="wp-synhighlighter-title" href="#codesyntax_29"  onClick="javascript:wpsh_toggleBlock(29)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_29" onClick="javascript:wpsh_code(29)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_29" onClick="javascript:wpsh_print(29)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_29" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
&nbsp;
<span class="re0">$miktar</span> <span class="sy0">=</span> <span class="nu0">2</span><span class="sy0">;</span>
&nbsp;
<span class="re0">$fiyat</span> <span class="sy0">=</span> <span class="nu19">1.5</span><span class="sy0">;</span>
&nbsp;
<span class="kw1">echo</span> <span class="st0">&quot;Fiyat :&quot;</span><span class="sy0">.</span><span class="re0">$fiyat</span><span class="sy0">.</span><span class="st0">&quot; TL. Miktar : &quot;</span><span class="sy0">.</span><span class="re0">$miktar</span><span class="sy0">.</span><span class="st0">&quot; Tutar = &quot;</span><span class="sy0">.</span><span class="re0">$fiyat</span><span class="sy0">*</span><span class="re0">$miktar</span><span class="sy0">.</span><span class="st0">&quot; TL.&lt;br/&gt;&quot;</span><span class="sy0">;</span>
&nbsp;
<span class="sy1">?&gt;</span></pre></div></div>
<p>&nbsp;</p>
<h3>Diziler</h3>
<p>Diziler, mantık olarak, gruplaşmış değişkenler olarak tanımlanabilir. Dizilere olan ihtiyacın temelinde, birbiri ile alakalı değişkenlerin bir kalem altında toplanması ve daha kolay işlenmesi yatar. Farzelim, hayali manav dükkanımızda 5 çeşt sebze olsun, bunları şu şekilde tanımlayabiliriz.</p>
<p>&nbsp;</p>
<div id="wpshdo_30" class="wp-synhighlighter-outer"><div id="wpshdt_30" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_30"></a><a id="wpshat_30" class="wp-synhighlighter-title" href="#codesyntax_30"  onClick="javascript:wpsh_toggleBlock(30)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_30" onClick="javascript:wpsh_code(30)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_30" onClick="javascript:wpsh_print(30)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_30" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
<span class="re0">$sebzeler</span><span class="br0">&#91;</span><span class="st_h">'patlıcan'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">1.5</span><span class="sy0">;</span>
<span class="re0">$sebzeler</span><span class="br0">&#91;</span><span class="st_h">'domates'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">1.25</span><span class="sy0">;</span>
<span class="re0">$sebzeler</span><span class="br0">&#91;</span><span class="st_h">'biber'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">2.85</span><span class="sy0">;</span>
<span class="re0">$sebzeler</span><span class="br0">&#91;</span><span class="st_h">'soğan'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">0.5</span><span class="sy0">;</span>
<span class="re0">$sebzeler</span><span class="br0">&#91;</span><span class="st_h">'pırasa'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">3</span><span class="sy0">;</span>
<span class="sy1">?&gt;</span></pre></div></div>
<p>&nbsp;</p>
<p>Eğer tüm bu verileri, örneğin $biber_fiyatı vs gibi tanımlamaya kalksaydık, programcının olası tüm verileri değişken olarak tanımlaması gerekirdi ki, bu pratik olarak imkansızdır. Veya söyle diyelim, diziler sayesinde, programcı&#8217;dan bağımsız olarak programa veri yüklemesi sağlanabilir. Bunun yanı sıra diziler, değişken gibi veri depolama dışında bize döngü imkanı da sağlarlar. Döngü, programlamada çok sık karşılaşacağınız bir kavramdır. Basitçe eldeki veri bitene kadar aynı işi yap olarak da tanımlanabilir. Dizi verileri döngüye sokmak için birden fazla yol olsa da bunları ilerde daha detaylı olarak inceleyeceğiz.  Bu örneğimizde <strong>foreach </strong>döngü yapısını basitçe göreceğiz. forach kendisine verilen dizi ve obje için süslü parantez içinde tanımlanmış olan kod bloğunda bir tur atar.</p>
<p>&nbsp;</p>
<div id="wpshdo_31" class="wp-synhighlighter-outer"><div id="wpshdt_31" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_31"></a><a id="wpshat_31" class="wp-synhighlighter-title" href="#codesyntax_31"  onClick="javascript:wpsh_toggleBlock(31)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_31" onClick="javascript:wpsh_code(31)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_31" onClick="javascript:wpsh_print(31)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_31" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
<span class="re0">$sebzeler</span><span class="br0">&#91;</span><span class="st_h">'patlıcan'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">1.5</span><span class="sy0">;</span>
<span class="re0">$sebzeler</span><span class="br0">&#91;</span><span class="st_h">'domates'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">1.25</span><span class="sy0">;</span>
<span class="re0">$sebzeler</span><span class="br0">&#91;</span><span class="st_h">'biber'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">2.85</span><span class="sy0">;</span>
<span class="re0">$sebzeler</span><span class="br0">&#91;</span><span class="st_h">'soğan'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">0.5</span><span class="sy0">;</span>
<span class="re0">$sebzeler</span><span class="br0">&#91;</span><span class="st_h">'pırasa'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">3</span><span class="sy0">;</span>
<span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re0">$sebzeler</span> <span class="kw1">as</span> <span class="re0">$sebze</span> <span class="sy0">=&gt;</span> <span class="re0">$fiyati</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">// $sebzeler dizisindeki her eleman,  $sebze olarak tanı içindeki değeri de $fiyat olarak tanı</span>
    <span class="kw1">echo</span> <span class="st0">&quot;Ürün : &quot;</span><span class="sy0">.</span><span class="re0">$sebze</span><span class="sy0">.</span><span class="st0">&quot; - Fiyatı :&quot;</span><span class="sy0">.</span><span class="re0">$fiyati</span><span class="sy0">.</span><span class="st0">&quot; &lt;br/&gt;&quot;</span><span class="sy0">;</span> <span class="co1">// her eleman için attığın turda elemanın adını ve fiyatını ekrana bas.</span>
<span class="br0">&#125;</span>
<span class="sy1">?&gt;</span></pre></div></div>
<p>&nbsp;</p>
<p>Diziler, oldukça faydalı veri tipleridir. Bu yüzden bol bol kullanacağız. PHP dizileri çok boyutlu olabilirler, bu sayede oldukça karmaşık veri yapılarını beraberlerinde taşıyabilirler.</p>
<div id="wpshdo_32" class="wp-synhighlighter-outer"><div id="wpshdt_32" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_32"></a><a id="wpshat_32" class="wp-synhighlighter-title" href="#codesyntax_32"  onClick="javascript:wpsh_toggleBlock(32)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_32" onClick="javascript:wpsh_code(32)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_32" onClick="javascript:wpsh_print(32)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_32" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'sebze'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'patlıcan'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">1.5</span><span class="sy0">;</span>
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'sebze'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'domates'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">1.25</span><span class="sy0">;</span>
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'sebze'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'biber'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">2.85</span><span class="sy0">;</span>
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'sebze'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'soğan'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">0.5</span><span class="sy0">;</span>
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'sebze'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'pırasa'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">3</span><span class="sy0">;</span>
&nbsp;
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'meyve'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'portakal'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">1.35</span><span class="sy0">;</span>
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'meyve'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'mandalina'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu19">1.05</span><span class="sy0">;</span>
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'meyve'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'elma'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">1</span><span class="sy0">;</span>
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'meyve'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'armut'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">2</span><span class="sy0">;</span>
<span class="re0">$stok</span><span class="br0">&#91;</span><span class="st_h">'meyve'</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st_h">'kivi'</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="nu0">5</span><span class="sy0">;</span>
<span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re0">$stok</span> <span class="kw1">as</span> <span class="re0">$reyon</span> <span class="sy0">=&gt;</span> <span class="re0">$urunler</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">//1. basamak sebze veya meyve</span>
    <span class="kw1">echo</span> <span class="st0">&quot;Reyon : &quot;</span><span class="sy0">.</span><span class="re0">$reyon</span><span class="sy0">.</span><span class="st0">&quot; &lt;br/&gt;&quot;</span><span class="sy0">;</span>
    <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re0">$urunler</span> <span class="kw1">as</span> <span class="re0">$urun</span> <span class="sy0">=&gt;</span> <span class="re0">$fiyati</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> <span class="co1">// 2. basamak ürün ve fiyatları</span>
        <span class="kw1">echo</span> <span class="st0">&quot;Ürün : &quot;</span><span class="sy0">.</span><span class="re0">$urun</span><span class="sy0">.</span><span class="st0">&quot; - Fiyatı :&quot;</span><span class="sy0">.</span><span class="re0">$fiyati</span><span class="sy0">.</span><span class="st0">&quot; &lt;br/&gt;&quot;</span><span class="sy0">;</span> <span class="co1">// her eleman için attığın turda elemanın adını ve fiyatını ekrana bas.</span>
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span>
<span class="sy1">?&gt;</span></pre></div></div>
<p>Bir başka makalede görüşmek üzere</p>
<p><a href="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" class="liimagelink"><img src="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" alt="" title="tescil-turktrust-damgasi" width="523" height="36" class="aligncenter size-full wp-image-87" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.delifisek.net/php/phpde-degiskenler-ve-diziler.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Basit HTML Bilgisi</title>
		<link>http://www.delifisek.net/web-programlama/basit-html-bilgisi.html</link>
		<comments>http://www.delifisek.net/web-programlama/basit-html-bilgisi.html#comments</comments>
		<pubDate>Sat, 24 Dec 2011 12:09:39 +0000</pubDate>
		<dc:creator>Sancar Saran</dc:creator>
				<category><![CDATA[Web Programlama]]></category>

		<guid isPermaLink="false">http://www.delifisek.net/?p=144</guid>
		<description><![CDATA[Merhaba, bu makalemizde, basit olarak HTML üzerine değineceğiz. HTML, web sayfalarını oluşturan dokümanların temel taşıdır, HyperText Markup Language (Hiper Metin İşaretleme Dili) kelimelerinin baş harflerinin bir araya gelmesinden oluşur. HTML, SGML işaretleme dilinin bir alt versiyonudur, 1990 yılında World Wide Web in mucidi Sör Tim Berners-Lee tarafından geliştirilmiştir. HyperText sistemi, yine Tim Berners-Lee tarafından geliştirilen ve CERN (Avrupa [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.delifisek.net/wp-content/uploads/2011/12/HTML.jpg" class="liimagelink"><img class="alignright size-thumbnail wp-image-145" title="HTML" src="http://www.delifisek.net/wp-content/uploads/2011/12/HTML-150x150.jpg" alt="" width="150" height="150" /></a>Merhaba, bu makalemizde, basit olarak HTML üzerine değineceğiz. HTML, web sayfalarını oluşturan dokümanların temel taşıdır, HyperText Markup Language (Hiper Metin İşaretleme Dili) kelimelerinin baş harflerinin bir araya gelmesinden oluşur. HTML, SGML işaretleme dilinin bir alt versiyonudur, 1990 yılında World Wide Web in mucidi Sör <a href="http://tr.wikipedia.org/wiki/Tim_Berners-Lee" rel="nofollow" class="liwikipedia">Tim Berners-Lee</a> tarafından geliştirilmiştir. HyperText sistemi, yine Tim Berners-Lee tarafından geliştirilen ve <a href="http://tr.wikipedia.org/wiki/Avrupa_N%C3%BCkleer_Ara%C5%9Ft%C4%B1rma_Merkezi" rel="nofollow" class="liwikipedia">CERN</a> (Avrupa Nükleer Araştırma Merkezi) de hazırlanan ENQUIRE projesine dayanır.</p>
<p>HTML, etiketler (örneğin &lt;html&gt;) kullanılarak yazılan bir dildir. genel olarak  HTML etiketleri açılış ve kapanış şeklinde çiftli gelirler. Tek başina kullanılan HTML etiketleride vardır (örnegin &lt;img&gt;). Web sayfaları bu etiketlerin arası doldurularak oluşturulur. HTML etiketleri çeşitli görevleri yerine getirirler. Bazıları sadece yazılan dökümanın etiketlenmesi ile alakalıdır, bazıları dokümanın şeklini bazıları ise yazılan içeriğin şekli ile alakalıdır.</p>
<p>Web tarayıcıları, bu etiketleri direkt olarak göstermez, döküman içindeki etiketleri standartlar dahilinde yorumlayarak, web sayfasını görsel hale getirirler. Web sayfaları, resim, müzik veya video içerebilir. Yalıkın zamanda gelişen Javascript ve HTML5 ile standartlaşan SVG imkanı sayesinde HTML içine Vektör grafik ve animasyonda eklenebilir hale gelmiştir.</p>
<h3>Yazılım Biçimi</h3>
<div id="wpshdo_33" class="wp-synhighlighter-outer"><div id="wpshdt_33" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_33"></a><a id="wpshat_33" class="wp-synhighlighter-title" href="#codesyntax_33"  onClick="javascript:wpsh_toggleBlock(33)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_33" onClick="javascript:wpsh_code(33)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_33" onClick="javascript:wpsh_print(33)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_33" class="wp-synhighlighter-inner" style="display: block;"><pre class="html4strict" style="font-family:monospace;"><span class="sc0">&lt;!DOCTYPE html&gt;</span>
<span class="sc2">&lt;<a href="http://december.com/html/4/element/html.html"><span class="kw2">html</span></a>&gt;</span>
  <span class="sc2">&lt;<a href="http://december.com/html/4/element/head.html"><span class="kw2">head</span></a>&gt;</span>
    <span class="sc2">&lt;<a href="http://december.com/html/4/element/title.html"><span class="kw2">title</span></a>&gt;</span>Maraba Televole<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/title.html"><span class="kw2">title</span></a>&gt;</span>
  <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/head.html"><span class="kw2">head</span></a>&gt;</span>
  <span class="sc2">&lt;<a href="http://december.com/html/4/element/body.html"><span class="kw2">body</span></a>&gt;</span>
    <span class="sc2">&lt;<a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>&gt;</span>İşte ben geldim!<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>&gt;</span>
  <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/body.html"><span class="kw2">body</span></a>&gt;</span>
<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/html.html"><span class="kw2">html</span></a>&gt;</span></pre></div></div>
<p>Yukarıdaki örnekte, &lt;html&gt; ve &lt;/html&gt; etiketleri arasında kalan bölge web sayfasını tanımlar. &lt;head&gt; ve &lt;/head&gt; arasındaki bölge dökümanın tanımlanması, varsa css ve javascript dosyalarının eklenmesi için kullanılır. &lt;body&gt; ve &lt;/body&gt; arasındaki alan ise görülebilir sayfa içeriğini taşır. Tarayıcının sekmesindeki başlık ise &lt;header&gt; &lt;/header&gt; içindeki &lt;title&gt;ve&lt;/title&gt; arasında belirlenir.</p>
<p>Bunların dışında yazılan dökümanın tipini belirten ve sayfanın en başında yer alan &lt;doctype&gt; etiket vardır. Bu etiketin genel işlevi, tarayıcının içindeki HTML yorum motorunu, yüklenen sayfaya konusunda bilgilendirmeye çalışır (ve genelde başarısız olur, özellikle İnernet Explorer in eski sürümlerinde).</p>
<h3>Gevşek Dizilim</h3>
<p>Yukarıdaki örneği,</p>
<div id="wpshdo_34" class="wp-synhighlighter-outer"><div id="wpshdt_34" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_34"></a><a id="wpshat_34" class="wp-synhighlighter-title" href="#codesyntax_34"  onClick="javascript:wpsh_toggleBlock(34)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_34" onClick="javascript:wpsh_code(34)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_34" onClick="javascript:wpsh_print(34)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_34" class="wp-synhighlighter-inner" style="display: block;"><pre class="html4strict" style="font-family:monospace;"><span class="sc0">&lt;!DOCTYPE html&gt;</span>
<span class="sc2">&lt;<a href="http://december.com/html/4/element/html.html"><span class="kw2">html</span></a>&gt;&lt;<a href="http://december.com/html/4/element/head.html"><span class="kw2">head</span></a>&gt;&lt;<a href="http://december.com/html/4/element/title.html"><span class="kw2">title</span></a>&gt;</span>Maraba Televole<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/title.html"><span class="kw2">title</span></a>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/head.html"><span class="kw2">head</span></a>&gt;</span>
  <span class="sc2">&lt;<a href="http://december.com/html/4/element/body.html"><span class="kw2">body</span></a>&gt;&lt;<a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>&gt;</span>İşte ben geldim!<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/body.html"><span class="kw2">body</span></a>&gt;</span>
<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/html.html"><span class="kw2">html</span></a>&gt;</span></pre></div></div>
<p>&nbsp;</p>
<p>veya</p>
<p>&nbsp;</p>
<div id="wpshdo_35" class="wp-synhighlighter-outer"><div id="wpshdt_35" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_35"></a><a id="wpshat_35" class="wp-synhighlighter-title" href="#codesyntax_35"  onClick="javascript:wpsh_toggleBlock(35)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_35" onClick="javascript:wpsh_code(35)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_35" onClick="javascript:wpsh_print(35)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_35" class="wp-synhighlighter-inner" style="display: block;"><pre class="html4strict" style="font-family:monospace;"><span class="sc0">&lt;!DOCTYPE html&gt;</span>
<span class="sc2">&lt;<a href="http://december.com/html/4/element/html.html"><span class="kw2">html</span></a>&gt;</span>
  <span class="sc2">&lt;<a href="http://december.com/html/4/element/head.html"><span class="kw2">head</span></a>&gt;</span>
    <span class="sc2">&lt;<a href="http://december.com/html/4/element/title.html"><span class="kw2">title</span></a>&gt;</span>Maraba Televole<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/title.html"><span class="kw2">title</span></a>&gt;</span>
  <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/head.html"><span class="kw2">head</span></a>&gt;</span>
  <span class="sc2">&lt;<a href="http://december.com/html/4/element/body.html"><span class="kw2">body</span></a>&gt;</span>
<span class="sc2">&lt;<a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>&gt;</span>
&nbsp;
İşte
ben
geldim!
<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>&gt;</span>
  <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/body.html"><span class="kw2">body</span></a>&gt;</span>
<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/html.html"><span class="kw2">html</span></a>&gt;</span></pre></div></div>
<p>Şeklinde kullansanız bile, tarayıcılar aynı çıktıyı vereceklerdir. HTML kaynak kodu üzerinde yaptığınız bu düzenlemeler, sadece kaynak kodun görüntüsünü değiştirir. Tarayıcılar dökümanı içindeki etiket ve doküman versiyonuna göre yorumlarlar.</p>
<p>Bunun yanı sıra, HTML diziliminde yapacağınız hatalar, genelde sayfanın bozuk görünmesine yol açar. Bir önceki yazımızda belirttiğimiz Firefox eklentileri bu tür hataları bulup düzeltmenizde yardımcı olur.</p>
<p><a href="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" class="liimagelink"><img class="aligncenter size-full wp-image-87" title="tescil-turktrust-damgasi" src="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" alt="" width="523" height="36" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.delifisek.net/web-programlama/basit-html-bilgisi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP İle Programcılığa Giriş</title>
		<link>http://www.delifisek.net/php/php-ile-programciliga-giris.html</link>
		<comments>http://www.delifisek.net/php/php-ile-programciliga-giris.html#comments</comments>
		<pubDate>Fri, 23 Dec 2011 20:56:40 +0000</pubDate>
		<dc:creator>Sancar Saran</dc:creator>
				<category><![CDATA[Php]]></category>

		<guid isPermaLink="false">http://www.delifisek.net/?p=114</guid>
		<description><![CDATA[Merhaba, bu makalemizde PHP ile programlamaya giriş konusuna değineceğiz. Kişisel olarak PHP programlama için Linux ortamını tercih ediyorum ve okuyucuların coğunluğunun windows kullanıcısı olduğundan yola çıkarak, PHP programlama için gerekli araçları yani tezgahımızı windows tabanlı olarak oluşturacağız. Bu yazıda bahsi geçen yazılımların tamamı kendi kişisel bilgisayarınıza yüklenecektir. Yazdığınız yazılımları, internet üzerinde çalışan web sunucusuna gönderip [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.delifisek.net/wp-content/uploads/2011/12/programming.jpg" class="liimagelink"><img class="alignright size-thumbnail wp-image-117" title="Programlama" src="http://www.delifisek.net/wp-content/uploads/2011/12/programming-150x150.jpg" alt="" width="150" height="150" /></a>Merhaba, bu makalemizde PHP ile programlamaya giriş konusuna değineceğiz. Kişisel olarak PHP programlama için Linux ortamını tercih ediyorum ve okuyucuların coğunluğunun windows kullanıcısı olduğundan yola çıkarak, PHP programlama için gerekli araçları yani tezgahımızı windows tabanlı olarak oluşturacağız. Bu yazıda bahsi geçen yazılımların tamamı kendi kişisel bilgisayarınıza yüklenecektir. Yazdığınız yazılımları, internet üzerinde çalışan web sunucusuna gönderip kodlarınızı tüm web üzerinden çalışır hale getirmek konusunda başka bir makale hazırlayacağız.</p>
<p>Tezgah için gerekli olanlar,</p>
<h3>Sunucu Tarafında</h3>
<p>PHP destekli Apache, MySql veritabanı, MySql veritabanını yönetmek için PHP Myadmin. Bu yazılımları tek tek bilgisayarınıza kurmayı deniyebilirsiniz, ancak gerekli ayarları yapmak konu hakkında bilgi birikimi olmayan arkadaşları oldukça zorlayacaktır. Bu yüzden size WAMP Server paketini yüklemenizi öneririm. <a href="http://sourceforge.net/projects/wampserver/" class="liexternal">http://sourceforge.net/projects/wampserver/</a> adresinden güncel sürümüne ulaşabileceğiniz wamp server. Hem tüm paketleri bir arada sunar, hemde xdebug webgrind gibi araçları beraberinde getirir. Wamp paketi, diğer windows programları gibi kolayca kurulur. Eğer yedek sürcünüz varsa buraya kurmanızı tavsiye ederim. Eğer bilgisayarınızda skype yüklü ise, kurulum yapmadan önce ve wamp server paketini çalıştırmadan önce skype programından çıkmanız gerekmektedir. Skype eğer 80. port boş ise direkt oraya yerleşen bir programdır. Wamp paketi içindeki Apache 2 web sunucusu da 80. portta çalışacağından sorun çıkacaktır. Bu yüzden önce wamp serverinizi çalıştırın sonra skype ı çalıştırın.</p>
<h3>İstemci Tarafında</h3>
<p>Web tarayıcısı. Ana geliştirme tarayıcısı olarak Mozilla Firefox&#8217;u kullanacağız, özel olarak Firefox&#8217;u seçmemizin nedeni, web programcılığı için faydalı olan eklentilere sahip olması. Bu eklentiler.</p>
<ul>
<li>Firebug (her türlü javascript hatası, html</li>
<li>Colorzilla</li>
<li>MeasureIt</li>
<li>HTML Validator</li>
<li>YSlow</li>
</ul>
<p>&nbsp;</p>
<p>Bunun yanı sıra programları yazmak için bir text editöre ihtiyacımız olacak. Kişisel olarak KDE for windows içinde özellikle kate text editörünü kullanmanızı tavsiye ederim. Yazımın başında da belirttiğim gibi, PHP programalama için daima Linux yüklü bilgisayarları tercih ettim, bu süreç içinde, herhangi bir encoding veya script dosyalarından kaynaklanan sorun yaşamadım. Zaman zaman forumlarda gördüğüm Türkçe karakter hatası promleminin neden bu kadar yaygın olduğu konusunda her zaman şaşkınlık geçirdim taaki bir gün windows bazlı bir ortamda yazılım yapma gereksinimi ortaya çıkıncaya kadar. Notepad i saymıyorum bile, Notepad++ da dahil olmak üzere denediğim bir çok text editöründen istediğim verimi alamadım. Bu konudaki düşüncem, text editörlerinin unix bazlı işletim sistemleri için taşıdığı önemin Windows ta geçerli olmaması. Windows için text editörü basit bir araç, program yazmak gibi ciddi işler için çok daha gelişkin araçlar var bu yüzden text editörleri (ulra edit gibi bir kaç örnek hariç) daha basit kalıyor. Ayrıca kate oturum desteğide sağlamaktadır. Yani her proje için açtığınız dosyaları ayrı otorumlar halinde saklarsanız, tek tıkla diğer projenizin tüm dosyalarını yükleyebilirsiniz. KDE for Windows a <a href="http://windows.kde.org/" class="liexternal">http://windows.kde.org/</a> adresinden erişebilirsiniz.</p>
<p>Kde for Windows kurulumu İngilizce ancak, Türkçe için dil paketleri mevcut, kurulum programını çalıştırdıktan sonra karşınıza gelen <strong>Package Selection </strong>kısmında sadece Kate yi seçerek tüm paketi yüklemekten kaçınabilirsiniz. Yine <strong>Language Packages</strong> kısmında kde4-l10n-tr paketini seçerseniz kde Türkçe olarak yüklenecektir.</p>
<p>Yükleme işlemleri bittiğinde, Windows görev çubuğunda, wamp serverin çalıştığına dair yeşil renkli bir W harfi göreceksiniz buna tıklarsanız, WAMP server menüsü karşınıza gelir. Bu menüden localhost seçeneğini tıklarsanız, kullandığınız varsayılan tarayıcıdan, wamp server index sayfasına ulaşırsınız. Test sayfasını çalıştırdığınız zaman WAMP kurulumunuz başarı ile gerçekleşmiş demektir.</p>
<h3>İlk Php Dosyamız</h3>
<p>Web sunucunuzun kök dizinindeki (Wamp serveri kurmuş olduğunuz sürücü (örneğin C ):\wamp\www\ dizini altındaki index.php dosyasının içeriğini tamamen silin ve aşağıdaki kodu ekleyin.</p>
<div id="wpshdo_36" class="wp-synhighlighter-outer"><div id="wpshdt_36" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_36"></a><a id="wpshat_36" class="wp-synhighlighter-title" href="#codesyntax_36"  onClick="javascript:wpsh_toggleBlock(36)" title="Kodu gösterip/saklamak için tıklayın">Source code</a></td><td align="right"><a href="#codesyntax_36" onClick="javascript:wpsh_code(36)" title="Sadece kodu göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_36" onClick="javascript:wpsh_print(36)" title="Kodu yazdır"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Eklenti bilgisini göster"><img border="0" style="border: 0 none" src="http://www.delifisek.net/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_36" class="wp-synhighlighter-inner" style="display: block;"><pre class="php" style="font-family:monospace;"><span class="kw2">&lt;?php</span>
&nbsp;
<span class="kw1">echo</span> <span class="st0">&quot;Maraba Televole&quot;</span><span class="sy0">;</span>
&nbsp;
<span class="sy1">?&gt;</span></pre></div></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://www.delifisek.net/wp-content/uploads/2011/12/meraba_televole2.jpg" class="liimagelink"><img class="alignnone size-full wp-image-137" title="meraba_televole" src="http://www.delifisek.net/wp-content/uploads/2011/12/meraba_televole2.jpg" alt="" width="557" height="250" /></a></p>
<p>&nbsp;</p>
<p>Biliyorum, internet&#8217;te gördüğünüz web sitelerine pek benzemiyor emin olun daha iyisi de olacak. Bir sonraki makalede, dizin yapısını oluşturup, sitemizi kodlamaya başlayacağız.</p>
<p>&nbsp;</p>
<p><a href="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" class="liimagelink"><img class="aligncenter size-full wp-image-87" title="tescil-turktrust-damgasi" src="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" alt="" width="523" height="36" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.delifisek.net/php/php-ile-programciliga-giris.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Programlama Dili</title>
		<link>http://www.delifisek.net/php/php-programlama-dil.html</link>
		<comments>http://www.delifisek.net/php/php-programlama-dil.html#comments</comments>
		<pubDate>Fri, 23 Dec 2011 12:14:13 +0000</pubDate>
		<dc:creator>Sancar Saran</dc:creator>
				<category><![CDATA[Php]]></category>

		<guid isPermaLink="false">http://www.delifisek.net/?p=95</guid>
		<description><![CDATA[PHP aslen 1994 &#8211; 1995 yılında Rasmus Lerdof tarafından geliştirilmeye başlanmıştır. İlk yaptığı iş ise, Rasmus&#8217;un CV sayfasına gelen ziyaretçileri takip etmekti. Zaman içinde yeni fonksiyonlar eklendi daha sonra Haziran 95 te ilk sürümü genele yayıldı. Her OSS projesinde olduğu gibi bir çok eklemeler çıkarmalar, yeniden yazmalarla 1996 daki PHP/FI 2.0 versiyonuna gelindi.  1997 de [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.delifisek.net/wp-content/uploads/2011/12/2214731993_66b2e07b70.jpg" class="liimagelink"><img class="alignright size-thumbnail wp-image-96" title="Php coding" src="http://www.delifisek.net/wp-content/uploads/2011/12/2214731993_66b2e07b70-150x150.jpg" alt="" width="150" height="150" /></a>PHP aslen 1994 &#8211; 1995 yılında <a href="http://tr.wikipedia.org/wiki/Rasmus_Lerdorf" target="_blank" rel="nofollow" class="liwikipedia">Rasmus Lerdof</a> tarafından geliştirilmeye başlanmıştır. İlk yaptığı iş ise, Rasmus&#8217;un CV sayfasına gelen ziyaretçileri takip etmekti. Zaman içinde yeni fonksiyonlar eklendi daha sonra Haziran 95 te ilk sürümü genele yayıldı. Her OSS projesinde olduğu gibi bir çok eklemeler çıkarmalar, yeniden yazmalarla 1996 daki PHP/FI 2.0 versiyonuna gelindi.  1997 de <a href="http://tr.wikipedia.org/wiki/Andi_Gutmans" target="_blank" rel="nofollow" class="liwikipedia">Andi Gutmans</a> ve <a href="http://tr.wikipedia.org/wiki/Zeev_Suraski" target="_blank" rel="nofollow" class="liwikipedia">Zeev Suraski</a>, üniversite  için yaptıkları e-ticaret projesi için Rasmus ile bağlantıya geçip projenin ihtiyaç duyduğu özellikler için yeniden yazmaya başladılar böylece bu gün bildiğimiz PHP ye en çok benzeyen PHP3 ortaya çıkmış oldu. Artan kullanıcı sayısı beraberinde artan istekleri de getirdiğinden, yeni ihtiyaçlara cevap veren, daha yüksek performans sağlayan PHP4 2000 Mayısında piyasaya sürüldü. PHP4 ile birlikte, gerçek manada nesne tabanlı programlamaya destek verilmeye başlandı. Temmuz 2004 te ise PHP5 ilk sürümünü yaptı.PHP5 yeni nesne tabanlı programlama modeli ve diğer bir çok yenilikleride beraberinde getirdi.</p>
<p>Tasarlanan PHP6 sürümü teknik aksaklıklar yüzünden geçikmiş daha sonrada ileri bir tarihe ertelenmiştir. Ertelemenin temel nedeni, unicode desteği için yapılması gereken tekrar yazma işleminin planlanandan uzun süre alacağının ortaya çıkmasıdır. Bu yüzden, PHP6 için düşünülen bir çok özellik PHP5.3 e backport edilmiştir.</p>
<p>PHP temel olarak, genel maksatlı, server side scripting language (Sunucu taraflı betik dili) olarak tanımlanır. Yinede PHP için dinamik web sayfası yapımı için özel olarak tasarlanmıştır dersek fazla hataya düşmeyiz. Başka dillerde örneği görülmeyen ve web programcısının işini çok kolaylaştıran $_GET, $_POST gibi tamamen web programlamasında işe yarayacak özellikleri, dilin çekirdek yapısında barındırır.</p>
<p>PHP teknik olarak, bir araya getirilmiş C kütüphaneleridir, programlama dili tasarımcıları açısından pek parlak bir çalışma değildir. Bazı fonksiyonların parametreleri arasında tutarsızlık bulunmaktadır. mysql_real_escape_string gibi enteresan fonksiyon adları vardır, bu yüzden özellikle mükemmeliyetçi programcılar arasında espri konusudur. Tüm tasarım hatalarına karşın, php en başarılı sunucu taraflı web programlama dilidir.</p>
<p>Php hem fonksiyonel, hemde nesne tabanlı programlama yapılabilen bir dildir. PHP nin nesne tabanlı programlama desteği henüz tam olgunlaşmamışsada, ilk çıktığı PHP4 zamanlarından bu yana oldukça fazla yol katetmiştir. Günümüzde, nesne tabanlı olmayan bir PHP framework&#8217;ü bulmak imkansızdır.</p>
<p>Syntax (söz dizimi) olarak PHP,  fonksiyonel programlamada C tabanlı, nesne tabanlı programlamada ise C++ tan türetilmiş bir model kullanır. Her komut ; ile sonlandırılmalıdır. Bir satırda birden fazla fonksiyon girilebilir.  Kod blokları (Fonksiyonlar, if else vb) küme parantezi {memeli parantez} içine alınır. Değşkenler $ işareti ile belirlenir.</p>
<p>PHP syntax ı çok gevşek yapıdadır. Bu konularda fazla bilgisi olmayanlar için büyük bir avantaj sağlıyor olsa da, gevşek syntax, disiplinsiz bir çalışma neticesinde, tekrar okunması ve dolayısı ile bakım onarım yapılması çok zor kodlar üretilmesine medyan veren bir yapıdır. Gevşek syntax PHP nin HTML içine gömülme imkanı ve disiplinsiz bir çalışma neticesinde, PHP nin en büyük problemlerinden biri olan spagetti kodunu meydana getirir.</p>
<p>PHP programcılığı yapılırken, dikkat edilmesi gereken en önemli husus, bir kodlama prensibine uyulmasıdır. Bu disiplin sağlanamadığı taktirde, yazılan programların orta ve uzun vadede anlamı yoktur. Sebebine gelince, işe yarayan programlar, genelde yazıldıktan belirli bir süre sonra güncellenir, yeni özellikler eklenir, performans optimizasyonu yapılır. Bu işlemleri her zaman programı yazan programcılar yapmaz, dolayısı ile bir program, programcısı dışında başka programcılar tarafından da rahatlıkla okunabilmelidir. Bu yüzden yazılan programlar belirli bir disipline sahip olmalıdır.</p>
<p>Tüm aksıyan yönlerine rağmen. PHP dünya çapından en yaygın, sunucu programlama dilidir.  Yaygın ve ucuz sunucu desteği vardır. PHP ile programlamaya başlamak çok kolaydır, dinamik olması nedeni ile, programcılığa başlarken önemli avantaj sağlar. Nesne Tabanlı Programlama desteği ve kolay ölçeklenebilmesi sayesinde, programcısı kendisini geliştirdiği müddetçe programcısı ile birlikte gelişebilir, büyük projelerde rahatlıkla kullanılabilir. Özetle PHP, gerek başlangıç gerekse ileri seviye web programcılığı için en ideal dildir denilebilir.</p>
<p>&nbsp;</p>
<p><a href="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" class="liimagelink"><img class="aligncenter size-full wp-image-87" title="tescil-turktrust-damgasi" src="http://www.delifisek.net/wp-content/uploads/2011/12/tescil-turktrust-damgasi.jpg" alt="" width="523" height="36" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.delifisek.net/php/php-programlama-dil.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

