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

<channel>
	<title>Gökalp Kuşçu &#187; class private</title>
	<atom:link href="http://www.gokalpkuscu.com/tag/class-private/feed" rel="self" type="application/rss+xml" />
	<link>http://www.gokalpkuscu.com</link>
	<description>Aquila Non Captat Muscas</description>
	<lastBuildDate>Wed, 18 Jan 2012 21:05:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>PHP Nesneye dayalı programlama private deyimi</title>
		<link>http://www.gokalpkuscu.com/php-nesneye-dayali-programlama-private-deyimi</link>
		<comments>http://www.gokalpkuscu.com/php-nesneye-dayali-programlama-private-deyimi#comments</comments>
		<pubDate>Wed, 28 Apr 2010 11:19:11 +0000</pubDate>
		<dc:creator>Gökalp Kuşçu</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[class private]]></category>
		<category><![CDATA[php class private deyimi]]></category>
		<category><![CDATA[php nesneye dayalı programlama]]></category>
		<category><![CDATA[PHP OOP]]></category>
		<category><![CDATA[php private deyimi]]></category>

		<guid isPermaLink="false">http://www.gokalpkuscu.com/?p=514</guid>
		<description><![CDATA[PHP için nesneye dayalı  programlama deyimlerinden “private” deyimini açıklamaya çalışacağım. Private : Sadece class içersinde kullanmaya yetkili sabit bir değişken  veya methot yapmak istediğimizde,  ilgili kelimelerin başına “private” deyimini ekleyerek bu işlemi gerçekleştiriyoruz. Bu deyim ile oluşturulan sözcükler dışarıdan veya başka bir class içerisinden erişilemezler. Eğer bu sözcüklere dışarıdan erişmeye çalışırsanız, Fatal Error verecektir. Bir [...]]]></description>
			<content:encoded><![CDATA[<p>PHP için nesneye dayalı  programlama deyimlerinden “private” deyimini açıklamaya çalışacağım.</p>
<p><strong>Private :</strong></p>
<ul> Sadece class içersinde kullanmaya yetkili sabit bir değişken  veya methot yapmak istediğimizde,  ilgili kelimelerin başına “private” deyimini ekleyerek bu işlemi gerçekleştiriyoruz. Bu deyim ile oluşturulan sözcükler dışarıdan veya başka bir class içerisinden erişilemezler.</ul>
<ul>
<li>Eğer bu sözcüklere dışarıdan erişmeye çalışırsanız, Fatal Error verecektir. Bir önceki konuda geçen örnek yapısı üstünden gidecek olursak.</li>
</ul>
<p><span id="more-514"></span></p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
class oop_bir {

    private $name;
    public function getName(){
     return $this-&gt;name.self::getLength();
   }

    public function setName($name){
      $this-&gt;name = $name;
   }
   //Dışarıdan erişilemez methot
   private function getLength(){
    return strlen($this-&gt;name);
   }
}

   $obj = new oop_bir();
    $obj-&gt;setName(&quot;Gokalp&quot;);

   //OUT: Gokalp6
   echo $obj-&gt;getName();

   //OUT: Fatal Error :  Call to private method oop_bir::getLength()
   echo $obj-&gt;getLength();  // Error!
?&gt;
</pre>
<p>Gördüğünüz gibi sınıfımız(class) içerisinde 3 adet methoda sahibiz, bunlardan ikisi public her yerden ulaşılabilir, diğeri ise private sadece kendi classı içerisinden ulaşılabilir,  değişkenimiz yani <strong>&#8220;private $name&#8221; </strong>yine sadece sınıfımız içerisinden ulaşılabilir.</p>
<p>Oluşturduğumuz &#8220;$obj&#8221; nesnesi, bize sınıfımız içindeki methodları kullanmamızı sağlayacak, tabi ki public olanları, ilk olarak içerideki private değişkenime &#8220;setName()&#8221; ile Gokalp değerini atıyorum, daha sonra &#8220;getName()&#8221; methodu içinden private methodumu çağrıyorum ve bana gereken işlem sonucu return ediyor. Böylece hem ismimi hemde bunun uzunluğunu hesaba katıp bana gerekli işlemi dönderiyor ve bunu echo ile ekrana basıyorum.</p>
<blockquote><h2>Tips:</h2>
<p>Eğer private methoda veya değişkene ulaşmaya çalışırsam,</p>
<p>echo $obj-&gt;getLength();  // Error! gibi</p>
<p>Fatal error: Call to private method oop_bir::getLength() from context &#8221; in C:\**\index.php on line 26</p>
<p>Oluşan hata bu şekilde gösterilecektir, private bir tanımlamayı çağırdınız!</p></blockquote>
<blockquote><h2>Tips-2:</h2>
<p>Class içerisinde yazdığınız methodlara ulaşmak için &#8220;self&#8221; deyimini kullanabilirsiniz.</p>
<p>self::getLength(); gibi&#8230;</p></blockquote>
<blockquote><h2>Tips-3:</h2>
<p>PHP5 ile geliştirilen <strong>parent</strong> deyimi extend edilen class içindeki, methodları çağırmak için kullanılmaktadır, aynı şekilde PHP5 ile geliştirilen <strong>self </strong> deyimi aynı class içindeki methodları çağırmak için kullanılmaktadır, bu işlemler PHP4 ile <strong>$this</strong> deyimi ile gerçekleştirilmektedir.</p></blockquote>
<p>İlgili dosyayı buradan indirebilirsiniz&#8230;.<br />
Note: There is a file embedded within this post, please visit this post to download the file.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gokalpkuscu.com/php-nesneye-dayali-programlama-private-deyimi/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

