Özel Adres Sınıfı

PHP
47 lines
<?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>";
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

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

 

Xml Ayrıştırmak ve İşlemek

test.xml

XML
2 lines
<?xml version="1.0" encoding="UTF-8"?>
<rss></rss>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

index.php

PHP
22 lines
<?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();
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

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

test.php

PHP
25 lines
<?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());
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
19 lines
rss
DOMNodeList Object
(
[length] => 0
)
<?xml version="1.0" encoding="UTF-8"?>
<rss>
<kitap>
<baslik>
PHP 7
</baslik>
<yazar>
Ulusanyazilim
</yazar>
</kitap>
</rss>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX