Neden PHP $ _GET ve $ _POST birleştirme istiyorsunuz?

4 Cevap php

Wordpress kaynak kodu (PHP) okurken ben sadece bu kodu gördüm, Onlar / 1 istek diziye bütün olsun ve sonrası değerleri çevirmek mergre görebilirsiniz.

Şimdi bildiğimiz gibi, $ _GET ve $ _POST bu yapacağını neden bu kadar, array_merge () işlevini kullanarak herhangi bir fikir WITHOUT $ _REQUEST arayarak zaten mevcuttur?

$_REQUEST = array_merge($_GET, $_POST);

4 Cevap

That is because the default $_REQUEST is a merger of $_GET, $_POST AND $_COOKIE. Also, the order in which the variables of these superglobals are merged into $_REQUEST is dependant on the ini setting variables_order and as of PHP 5.3.0 can also be influenced by request_order. So my guess is, that the developer wanted to make sure $_REQUEST consists of only $_GET and $_POST, merged in that particular order, if he didn't have access to ini settings (on a shared host for instance). You see, variables_order and request_order aren't configurable on a per script basis.

HTH

$_REQUEST $_GET, $_POST içeriğini içerir ve $_COOKIE diziler varsayılan. Genellikle bu amaç için kullanılmaz beri belki de, ondan COOKIE değişkenleri dışlamak istiyorum.

Bu, aynı adla bir GET değişkeni ve POST değişkeni var eğer öyleyse, bu GET birinin üzerine POST değişkeni seçecektir.

Ayrıca $ _REQUEST değişkeninde çerezleri istemeyebilirsiniz.

O bunu nerede gördüğünü yapıldı, ama bazı işlem, bir dizi ya da başka değerler üzerinde yapılmıştır zaman önce o yapılan gördük neden özellikle bilmiyorum ve böylece geri $ _REQUEST bu değişiklikleri birleştirmek istiyor herkes $ _REQUEST kullanarak onlar $ _POST veya $ _GET değişkenler yapıldı rağmen değişiklikleri alırsınız.

Eklentisi geliştiriciler, veri erişim ve Wordpress çekirdek hepsi aynı verileri almak emin olmak gerekir, bu değişkenlerin herhangi kullanıyor olabilir, çünkü bu Wordpress var gibi durumlarda gelir.

Neden doğrudan $ _REQUEST bunu yapmak istemez? $ _REQUEST $ _POST Ve $ _GET yok ekstra bilgi bir ton içerdiğinden. Tüm bu ekstra bit için işleme uygulamak istemeyebilirsiniz.