URI Üzerindeki GET Sorgu Dizesi Parametrelerini İşlemek

PHP
40 lines
<?php
class adres {
var $adres;
var $site;
var $deger;
var $gecici;
function adres($def="") {
$this->adres = $def;
preg_match('/^(.*\?)(.*)$/', $this->adres, $sonuc);
$this->site = $sonuc[1];
unset($this->deger);
$sekme = (explode("&", $sonuc[2]));
foreach($sekme as $s) {
$gecici = explode("=", $s);
$this->deger[$gecici[0]] = $gecici[1];
}
}
function degerEkle($veri, $sal) {
$this->deger[$veri] = $sal;
}
function degerKaldir($veri) {
unset($this->deger[$veri]);
}
function degerGoster($veri) {
return $this->deger[$veri];
}
function yeniAdres() {
foreach($this->deger as $k=>$s) {
$this->gecici[] .= $k."=".htmlentities(urlencode($s));
}
return $this->site.implode("&",$this->gecici);
}
}
$x = new adres("http://localhost/index.php?veri1=01&veri2=02");
echo $x->degerGoster("veri1");
echo $x->degerEkle("veri3", "03");
echo $x->degerKaldir("veri2");
echo "<br>";
echo $x->yeniAdres();
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
2 lines
01
http://localhost/index.php?veri1=01&veri3=03
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

__call Fonksiyonu ile Olmayan Fonksiyonu ve Parametrelerini Almak

PHP
18 lines
<?php
class Sinifim{
public function deneme(){
echo "deneme fonksiyonu çağırıldı<br>";
}
public function __call($fonksiyonAdi, $parametreler = null){
echo "" . $fonksiyonAdi ." fonksiyonu " . count($parametreler) . " parametre ile çağırıldı!<br>";
echo "Bu parametreler ";
foreach($parametreler as $p){
echo $p." ";
}
echo "dir";
}
}
$obj = new Sinifim;
$obj->deneme();
$obj->benyokum('veri1','veri2');
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
3 lines
deneme fonksiyonu çağırıldı
benyokum fonksiyonu 2 parametre ile çağırıldı!
Bu parametreler veri1 veri2 dir
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX