Özel Adres Sınıfı

<?php
error_reporting(63);
class ozelAdres {
	var $anahtarlar= array();
	var $taban = '';
	function ozelAdres($taban='') {
		$this->taban = $taban;
	}
	function anahtarAyarla($isim='',$deger='') {
		if ($isim) {
			$this->anahtarlar[$isim] = $deger;
		}
	}
	function anahtarBirak($isim='') {
		if ($isim) {
			unset($this->anahtarlar[$isim]);
		}
	}
	function tabanAyarla($deger) {
		$this->taban = $deger;
	}
	function anahtarAl($isim) {
		return $this->anahtarlar[$isim];
	}
	function dize() {
		$r = $this->taban;
		if (count($this->anahtarlar)>0) $r .= '?';
		$tarr = array();
		foreach ($this->anahtarlar as $anahtar=>$deger) {
			$u[] = $anahtar.'='.(urlencode($deger));
		}
		$r .= implode('&',$u);
		return $r;
	}
	function kodla($isim='') {
		return "<a href=\"".$this->dize()."\">$isim</a>";
	}
}
$url = new ozelAdres($_SERVER['PHP_SELF']);
$url->anahtarAyarla('par1','Test');
$url->anahtarAyarla('par2',2);
echo $url->dize()."<br>";
echo $url->kodla('test')."<br>";
$url->anahtarBirak('par1');
echo $url->dize()."<br>";
echo "'par2' degeri ".$url->anahtarAl('par2')."<br>";
?>

Çıktısı

/index.php?par1=Test&par2=2
<a href="/index.php?par1=Test&par2=2">test</a>
/index.php?par2=2
'par2' degeri 2

 

Xml Ayrıştırmak ve İşlemek

test.xml

<?xml version="1.0" encoding="UTF-8"?>
<rss></rss>

index.php

<?php
Class kitaplar extends domDocument {
	function __construct() {
		parent::__construct();
	}
	function kitapekle($baslik, $yazar) {
		$baslikmetni = $this->createElement("baslik");
		$baslikmetni->appendChild($this->createTextNode($baslik));
		$yazarmetni = $this->createElement("yazar");
		$yazarmetni->appendChild($this->createTextNode($yazar));
		$kitapmetni = $this->createElement("kitap");
		$kitapmetni->appendChild($baslikmetni);
		$kitapmetni->appendChild($yazarmetni);
		$this->documentElement->appendChild($kitapmetni);
	}
} 
header("Content-type: text/xml");
$dom = new kitaplar();
  $dom->load("test.xml");
  $dom->kitapekle("PHP 7", "Ulusanyazilim");
  print $dom->saveXML();
?>

Çıktısı

<?xml version="1.0" encoding="UTF-8"?>
<rss>
	<kitap>
		<baslik>
			PHP 7
		</baslik>
		<yazar>
			Ulusanyazilim
		</yazar>
	</kitap>
</rss>

test.php

<?php
Class kitaplar extends domDocument {
	function __construct() {
		parent::__construct();
	}
	function kitapekle($baslik, $yazar) {
		$baslikmetni = $this->createElement("baslik");
		$baslikmetni->appendChild($this->createTextNode($baslik));
		$yazarmetni = $this->createElement("yazar");
		$yazarmetni->appendChild($this->createTextNode($yazar));
		$kitapmetni = $this->createElement("kitap");
		$kitapmetni->appendChild($baslikmetni);
		$kitapmetni->appendChild($yazarmetni);
		$this->documentElement->appendChild($kitapmetni);
	}
} 
$dom = new DomDocument;
$dom->load("test.xml");
print "<pre>";
print $dom->documentElement->nodeName;
print "<br/>\n";
print_r($dom->getElementsByTagName("test"));         
print "<br/>\n";
print htmlentities($dom->saveXML());
?>

Çıktısı

rss

DOMNodeList Object
(
    [length] => 0
)


<?xml version="1.0" encoding="UTF-8"?>
<rss>
	<kitap>
		<baslik>
			PHP 7
		</baslik>
		<yazar>
			Ulusanyazilim
		</yazar>
	</kitap>
</rss>