turk-php forumlarındaki bi istekten sonra bana da lazım olur diye yazdığım bi sınıf code lighter kullanma adına da olsa işine yarayan olabilir işte sınıfımız ve bir örnek kullanım
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | class txtSayac{ /** * txt Dosya Adresi * * @var mixed */ var $txtDosya; var $sayac=Array(); protected $txtLines=Array(); protected $txtHandler; /** * Kurucu Fonksiyon * * @param mixed $txtAdres * @return txtSayac */ function txtSayac($txtAdres){ if(is_file($txtAdres)) { $this->txtDosya=$txtAdres; $this->txtLines=file($txtAdres); }else { $this->hata($txtAdres.' Geçerli Bir Dosya Değil'); } } /** * Sayacları Kullanmadan önce bu fonksiyon çalışıtırıp sayaçlar diziye doldurulmalı */ function tumunuGetir(){ foreach($this->txtLines As $Line){ $parcalar=explode('=',trim($Line)); $this->sayac[trim($parcalar[0])]=trim($parcalar[1]); } return $this; } /** * sayacın adını girerek değerini almanıza yarar * * @param mixed $sayacName * @return bool */ function sayac($sayacName){ return array_key_exists($sayacName,$this->sayac) ? $this->sayac[$sayacName] : $this->hata($sayacName.' Adında Bir Sayaç Bulunamadı'); } /** * sayac adını ve artış miktarını girerek sayac değerini arttırabilirsiniz. * * @param mixed $sayacName * @param mixed $artis */ function sayacArttir($sayacName,$artis=1){ $this->sayac[$sayacName]=$this->sayac[$sayacName]+$artis; $this->sayacDepola(); return $this; } /** * isim vererek yeni sayaç eklemenize yarayan fonksiyon * * @param mixed $sayacName * @param mixed $deger */ function sayacEkle($sayacName,$deger=0){ $this->sayac[$sayacName]=$deger; $this->sayacDepola(); return $this; } /** * dışardan erişilemeyen sayaclarla oynandıktan sonra tümünü kaydeden fonksiyon * */ protected function sayacDepola(){ if (count($this->sayac)>0){ $file=fopen($this->txtDosya,'w+'); foreach($this->sayac As $sName=>$sValue){ fwrite($file,$sName.'='.$sValue."\n"); } fclose($file); }else { return $this->hata('Hiç Sayaç Bulunamadı'); } return $this; } /** * yine erişilemeyen hata esnasında çalışan fonksiyon * * @param mixed $aciklama * @return crash */ protected function hata($aciklama){ die($aciklama); } /** * Yıkıcı Fonksiyon aynı zamanda sayaclarla oynandıktan sonra depolar. * extends sınıflara ihtiyac duyarsanız bu fonksiyon işinize yarayabilir. */ function __destruct() { $this->sayacDepola(); } } // Örnek Kullanım $S=new txtSayac('sayac.txt'); $S->tumunuGetir()->sayacEkle('sayac1')->sayacArttir('sayac1',1)->sayacEkle('sayac2'); $S->sayacArttir('sayac1',1); echo $S->sayac('sayac1'); $S->sayacArttir('sayac1',1); $S->sayacArttir('sayac2',5); echo $S->sayac('sayac1'); |







