$ _GET Tutarlılık

3 Cevap

$_GET tutarlılık tutmak için iyi bir yolu var mı

For example if i have a url http://www.example.com/index.php?Id=5&sort=new

Ve öylesine i Id ve sort tutacak bir işlev oluşturabilirsiniz herhangi bir yolu var şimdi bunun sonunda yeni bir $_GET alanını eklemek istediğiniz ve benim yeni VAR eklemek lim?

Yani URL Şimdi benziyor: http://www.example.com/index.php?Id=5&sort=new&lim=100

belki bir şey gibi:

add_new_get('http://www.example.com', 'lim=100');

I fonksiyonu ile gelip emin im ama kimse de paylaşmak istiyorum ki böyle bir şey uygulamıştır sadece merak: D

3 Cevap

her zaman sadece $_SERVER['REQUEST_URI'].'&yourstuff=whateves'; Seni gerçekten istedim eğer bir işlevi olduğunu sarabilirdiniz tahmin yapabilirdi.

Yukarıdaki dosya adından önce her şeyi içerir. SADECE olsun istekleri isterseniz yapabilirsiniz:

$new_req = "?";
foreach ($_GET as $key=>$val){
    $new_req .= "&".$key."=".$val;
}
$new_req .= $your_new_value;

Bunu tercih yerine kendi yazarken daha sorgu dizesi işlemeyi yönetmek için bir sınıf kullanmak için bulabilirsiniz.

Bkz HTTPQueryString

Bir url almak ve sorgu dizesi oluşturmak için bir işlevi yazmak korkunç karmaşık değildir, ama HttpQueryString gibi bir sınıf ile, emin değişkenler zaten var olup olmadığını doğru kodlama için testler var yapma konusunda endişelenmenize gerek yok dizesinde, vb mevcut

Edit

örneğin

$query = new HttpQueryString(false, 'Id=5&sort=new');
$query->mod('lim=100');
echo $query->toString(); // echoes http://www.example.com/index.php?Id=5&sort=new&lim=100

Biraz daha hackish çözeltisi output_add_rewrite_var ve output_rewrite_vars kullanmaktır